Threads share the address space of the process that created it; processes have their own address.

Threads have direct access to the data segment of its process; processes have their own copy of the data segment of the parent process.

Threads can directly communicate with other threads of its process; processes must use inter-process communication to communicate with sibling processes.

Threads have almost no overhead; processes have considerable overhead.

New threads are easily created; new processes require duplication of the parent process.

Threads can exercise considerable control over threads of the same process; processes can only exercise control over child processes.

Changes to the main thread (cancellation priority change etc.) may affect the behavior of the other threads of the process changes to the parent process does not affect child processes.


Both have an id set of registers state priority and scheduling policy.

Both have attributes that describe the entity to the OS.

Both have an information block.

Both share resources with the parent process.

Both function as independent entities from the parent process.

The creator can exercise some control over the thread or process.

Both can change their attributes.

Both can create new resources.

Neither can access the resources of another process.

进程是程序的一次执行,线程是进程中执行的一段程序片断

进程间是独立的,而线程运行在进程内

进程无法突破边界进入其他进程,线程可共享内存空间

进程若不引入线程无法运行同一段代码

线程属于进程,进程退出则线程结束

 

posted on 2009-06-11 17:39  Jackill  阅读(185)  评论(0编辑  收藏  举报