`
sjk2013
  • 浏览: 2183780 次
文章分类
社区版块
存档分类
最新评论

进程和线程的关系与区别

 
阅读更多
定义:
进程(processes):是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。
线程(thread):是进程中某个单一顺序的控制流。也被称为轻量级进程(lightweight processes)。


进程与线程的关系:
1、线程允许程序控制流(control flow)的多重分支同时存在于一个进程。及进程与线程一对一或一对多的关系
2、系统将资源分配给进程,同一进程的所有线程共享该进程范围内的资源,比如内存和文件句柄,但是每一个线程有其自己的程序计数器(program counter)、栈(stack)和本地变量。
3、线程是指进程内的一个执行单元,也是进程内的可调度实体。


线程与进程的区别:
1、通信:进程会通过一些原始的机制相互通信(inter-process):Socket、信号处理(signal handlers)、共享内存(shared memory)、信号量(semaphores)和文件;线程会通过全局变量、操作系统提供的Message消息机制
2、调度:线程作为CPU调度和分配的基本单位,进程作为拥有资源的基本单位。
3、并发性:不仅进程之间可以并发执行,同一个进程的多个线程之间也可以并发执行。
4、拥有资源:进程是拥有系统资源的一个独立单位,线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈)。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics