POSIX线程-什么是线程

1696阅读 0评论2011-11-24 ddbddb1
分类:LINUX

Wiki百科上是这样定义线程的:

       In computer science, a thread of execution is the smallest unit of processing that can be scheduled by an operating system.

   教课书上定义的是:进程是资源管理的最小单位,线程是程序执行的最小单位。

   很多地方说线程是一种轻量级的进程,其实是不太准确的,进程要求有自己的虚拟地址空间,所有的数据都是独立的,而线程要求的是共享虚拟地址空间,共享全局变量,堆等。

    线程是一种比进程轻(创建快,切换快,占用内存少)的,让应用程序并行执行多个任务的一种机制。一个进程可以包含多个线程(至少一个线程),这些线程共享相同的全局内存,相同的虚拟地址空间和一些属性。在多cpu系统中,同一进程中的线程是可以并行执行的,任意一个线程的阻塞都不会影响到其他线程。

图选自The linux programming interface-chapter29.1

上一篇:没有了
下一篇:POSIX线程-为什么要用线程