[wiki]线程
时间:2009-07-21 来源:nianzong
线程是计算机科学中的一个术语。指运行中的程序的调度单位。一个线程指的是进程中一个单一顺序的控制流。也被称为轻量进程(lightweight processes)。它是系统独立调度和分派的基本单位。同一进程中的多个线程将共享该进程中的全部系统资源,比如文件描述符和信号处理等等。 一个进程可以有很多线程,每个线程并行执行不同的任务。
软件多线程。即便处理器只能运行一个线程,操作系统也可以通过快速的在不同线程之间进行切换,由于时间间隔很小,来给用户造成一种多个线程同时运行的假象。这样的程序运行机制被称为软件多线程。如微软的Windows操作系统和Linux就是在各个不同的线程间来回切换,被称为单人多任务操作系统。而DOS这类文字界面操作系统在一个时间只能处理一项工作,被视为单人单工操作系统。
除此之外,许多系统及处理器也支持硬件多线程技术。对称多处理机(SMP)系统具有多个处理器,所以具有真正的同时执行多个线程的能力;CMP技术通过在一块芯片上集成多个内核(Core)也具有真正的多线程能力;CMT技术则稍有不同,有的是依靠硬件执行线程切换来获得多线程能力,操作系统不再负责线程切换,因而这部分开销可以减少甚至消除,这方面典型的例子是Sun的UltraSPARC T1,它同时综合了CMP和CMT。微软的Windows 2000以后的操作系统皆支持多线程与超线程技术。
相关阅读 更多 +