java程序设计教程 第9章.ppt

     9.1 Java线程模型   在操作系统中,进程被定义为应用程序的运行实例,是应用程序的一次动态执行。线程是进程内部程序执行的路径,是进程的一个执行单元。从根本上说,线程是可由系统调度的一个最简单的代码单元,负责执行包含在进程的地址空间中的程序代码。 9.1.1 线程   计算机系统给人的印象是它可以同时执行多项工作。例如,在一个窗口中用QQ聊天,在另一个窗口下载电影,在第三个窗口安装程序,等等。每一个程序应用就是一个进程的执行。对于单处理器的机器,操作系统分时间片轮流运行每一个进程,而线程只是进一步发展了这一概念:单个程序看起来可以同时处理多个任务。通常将每个任务称为一个线程。线程是控制线程的简称。可以一次运行多个线程的程序被称为是多线程的程序。   多线程和多进程的本质区别在于每个进程有它自己的变量的完备集,线程则共享相同的数据。对程序来说,共享的变量使进程之间的通信比线程间的通信更加有效、简单。而且,对于某些操作系统而言,线程比进程更“轻量级”,创建和销毁单个线程比发起进程的开销要小得多。   当操作系统按时间片从一个运行的进程切换到另一个进程时,由于需要保存程序的当前状态(内存影响、文件描述器和中断设置等),因此存在一定的开销。当JVM从一个运行的线程切换到另一个线程时,只需要在同一个内存地址空间内进行切换,因而只有较少的上下文切换开销(保存少量的寄存器、修

文档评论(0)

1亿VIP精品文档

相关文档