Chinaunix首页 | 论坛 | 博客
  • 博客访问: 84607
  • 博文数量: 17
  • 博客积分: 318
  • 博客等级: 二等列兵
  • 技术积分: 256
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-07 21:53
文章分类

全部博文(17)

文章存档

2011年(17)

我的朋友

分类: LINUX

2011-11-24 20:23:33

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

阅读(1615) | 评论(0) | 转发(1) |
0

上一篇:没有了

下一篇:POSIX线程-为什么要用线程

给主人留下些什么吧!~~