11.1.2 线程

11.1.2 线程

线程与进程相似,是一段完成某个特定功能的代码,是程序中单个顺序的流控制;但与进程不同的是,同类的多个线程是共享一块内存空间和一组系统资源,而线程本身的数据通常只有微处理器的寄存器数据,以及一个供程序执行时使用的堆栈。所以系统在产生一个线程,或者在各个线程之间切换时,负担要比进程小的多,正因如此,线程被称为轻负荷进程(light-weight process)。一个进程中可以包含多个线程。

总之,线程的意义在于:对于有些设计问题来说,可以将一个进程按不同的功能划分为多个线程。这样,既能同时为用户提供多项服务,同时线程间切换花费的CPU时间也很少。例如,一个浏览器在下载一些图片的同时,也能供用户浏览已经下载下来的页面,这就是利用线程技术提供高效服务的一个例子。