Java多线程:简介
为什么要用多线程
想象一下,你有一叠半米高的传单需要派送,如果你一个人派送的话可能会花费你大半天或者一整天的时间,那么为了节省时间你会怎么做呢?
你马上想到可以叫上你的好基友和你一起派送,如果你的好基友只有一个,你会节省一半的时间,如果你的好基友有一打,那么你可能在大半个小时就可以完成任务。
这就是现实版的多线程
。
多线程允许在同一个进程中同时存在多个程序控制流。线程会共享进程范围内的资源,例如内存句柄和文件句柄,但是每一个线程都有各自的程序计数器、栈和局部变量等。多线程还提供一种直观的分解模式来充分利用多处理器系统中的硬件并行性,而在同一个程序中的多个线程也可以被同时调度到多个CPU上运行。
多线程具有的优势主要如下:
资源利用率更好
程序设计更加简单
程序响应更快
Java中的多线程
Java是最先支持多线程的开发语言之一,每个Java应用程序都会使用线程。当JVM启动的时候,它将会为JVM的内部任务(例如垃圾回收、终结操作等)创建后台线程,并创建一个主线程来运行main方法。AWT
和Swing
的用户界面框架将创建线程来管理用户界面事件。Timer
将创建线程来执行延迟任务。一些组件框架,例如Servlet
和RMI
,都会创建线程池并调用这些线程中的方法。
几乎所有的Java应用程序都是多线程的,如果要使用上面提到的功能,那么必须对Java的多线程有一定的熟悉程度,这也是我总结Java多线程这一系列的原因,也算是抛砖引玉,希望能对其他的Java开发者有所帮助。