线程

操作系统进行运算调度的单位
线程(Thread)是并发程序(参见进程)中共享地址空间的并发执行单位。每个线程是一个并发执行单位,它拥有为执行计算所必须的程序代码及为程序运行所拥有的存储地址空间。一个中央处理器可以被多个线程并发地共享。在多核、多CPU或支持超线程的CPU上,多线程程序设计能显著提高程序的执行吞吐率;而在单CPU单核环境中,多线程技术可将进程中常被阻塞的I/O处理、人机交互部分与密集计算分离,通过专门的workhorse线程执行计算任务,从而提升执行效率。此外,多个线程共享同一地址空间便于分时运行和调度,减少线程切换的系统开销。从并发程序的运行来看。线程是一种轻量级的进程。[1]

发展简史

60年代,在OS中能拥有资源和独立运行的基本单位是进程,然而随着计算机技术的发展,进程出现了很多弊端,一是由于进程是资源拥有者,创建、撤消与切换存在较大的时空开销,因此需要引入轻型进程;二是由于对称多处理机(SMP)出现,可以满足多个运行单位,而多个进程并行开销过大。因此在80年代,出现了能独立运行的基本单位——线程(Threads)。

适用范围

1.服务器中的文件管理或通信控制