相似处:
1,两者都有ID,一组寄存器、状态、优先级和调试策略
2.两者都有向操作系统描述这个实体属性
3.两者都有信息块
4.两者都 与父进程共享资源
5都以独立于父进程的实体运行
6创建者可以在线程或进程上进行某些控制
7两者都能够修改它们的属性
8两者都能够创建新的资源
9两者都不能访问另一个进程中的资源
不同处:
1.线程共享创建该进程的进程地址空间,进程有它们自己的地址 空间
2 线程可以真接访问它进程中的数据段:进程本身拥有父进程中的数据段的拷贝
3线程可以与它进程中的其他线程直接进行通信,进程必须使用进程间的通信与同胞进程进行通信
4.线程几乎没有开销,而进程有相当可观 的可销
5容易创建新的线程,新进程需要父进程的拷贝
6线程可以在同一个进程中的其他线程上实行大量控制,进程只能对子进程进行控制
7改变主线程(取消、修改进程优先级等)可能 影响进程中其他线程的行为;对父进程的修改不影响进程
转至《Paralllel and Distributed Programming Using C++》Cameron Hughes/Tracey Hughes ,肖和平,张杰良译