疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

线程概述—[疯狂java讲义]


 

 
        大部分时候,我们都做着单线程的编程,只有一条顺序执行流:程序从main方法开始执行,依次向下执行每行代码,如果程序执行某行代码遇到了阻塞,则程序将会停滞在该处。如果我们使用IDE工具的单步调试功能将可以非常清楚地看出这一点。
 
        但实际的情况是,单线程的程序往往功能非常有限,例如我们需要开发一个简单的服务器程序,这个服务器程序需要向不同客户端提供服务时,不同客户端之间应该互不干扰,否则会让客户端感觉非常沮丧。多线程听上去是非常专业的概念,其实非常简单:单线程的程序只有一个顺序执行流,多线程的程序则可以包括多个顺序执行流,多个顺序流之间互不干扰。我们可以这样理解:单线程程序如同只雇佣一个服务员的餐厅,他必须做完一件事情后才可以做下一件事情;多线程程序则如同雇佣多个服务员的餐厅,他们可以同时进行着多件事情。
 
        Java语言提供了非常优秀的多线程支持,程序可以通过非常简单的方式来启动多线程,本章将会详细介绍Java多线程编程的相关方面,包括创建、启动线程、控制线程,以及多线程的同步操作。并会介绍如何利用Java内建支持的线程池来提高多线程性能。
 
        几乎所有的操作系统都支持同时运行多个任务,一个任务通常就是一个程序,每个运行中的程序就是一个进程。当一个程序运行时,内部可能包含了多个顺序执行流,每个顺序执行流就是一个线程。(摘自[疯狂java讲义])