您所在的位置:主页 > 培训新动态 >

Java新手需要学习多线程编程吗?

时间:2018-02-08 11:56来源:未知 作者:os 点击:

  学Java时,多线程部分不可跳过,必学,很重要。

  学习多线程技术的最有效方法就是用Java写一个网络应用,比如用Socket实现双机通讯,典型例子是一台计算机向另一台计算机传送一个二进制文件,或者构建一个一问一答的网络聊天室。

  把这个网络应用写完,你就知道多线程是怎么用在真实程序中的了。

  另外,在Android应用中多线程技术也是必不可少的,比如写一个下载特定网页上所有图片的小程序。

  回到我们Java,大家再思考下,java的很多技术是不是也是按照这个模式发展的:更好的利用计算机资源。主要包含两个方面:资源要有人在用、资源要用的高效。多线程上面提到了,这是资源利用最核心的技术之一。线程池也是(避免创建线程的资源消耗)。还比如NIO的出现,非阻塞,不用傻等,直接返回。线程同步提供的细粒度的可轮询可中断显式锁,并发容器ConcurrentHashMap分段锁、CopyOnWriteArrayList,到CAS等等。

  回到本问题,多线程无处不在,大多数人处于一种”只缘身在此山中“状态,没有意识到。但我要说,多线程很重要。如果一个程序员对多线程没感觉,说句不好听的,你连日常工作的异常堆栈都没仔细看过吧,里面tomcat的线程池、线程都有明确标识。如果一个程序员还叫嚣多线程没用的,不是傻就是坏。当然,如果你就想着当个低端码农,也行。

  Java新手,我建议先学好基础知识(计算机体系结构和原理、操作系统个人建议必学,因为这决定了你的上限),多线程也是基础知识,属于稍高级部分,可自行安排学习计划。至于如何入手,建议通过一个简单的socket客户端和服务端开始(可以扩展到自定义应用层协议),然后实现一个单线程的网络服务器、然后多线程、然后NIO。期间,对相关知识体系进行整理,这样下来,基本对多线程就有一个整体的认知了。