“
如果在操作系统中引入进程的目的是为了十多个程序并发执行,那么在操作系统中引入线程,则是为了减少程序并发执行时所应付出的时空开销,是操作系统具有更好的并发性。
通过把进程分解为线程(进程仍是资源分配的基层单位),使得线程成为CPU调度的基本单位,而线程只拥有在运行中必不可少的资源(如程冠希计数器,一组寄存器和栈)。同时,进程的非线程共享地址空间及其他资源,这样使得线程上下文负担很轻。单线程进程与多线程进程的资源使用情况如下图所示:
”
----------《多核架构与编程技术》