进程与线程

1.进程

进程是程序的一次执行过程,从代码加载、执行,直至完成的一个完整的过程。这个过程也是进程从产生、运行至消亡的过程。

程序与进程之间的关系:如同乐谱与一次演奏的关系。程序就是乐谱,进程按照这个乐谱进行的一次演奏。

 

2.线程

线程是一个控制流,也是一个执行过程,但执行单位比进程小。一个进程在其执行过程中可以产生多个线程,形成多条执行线索。

每条线索,即每个线程也有它自身的产生、运行和消亡的过程。

 

3.进程与线程比较

线程与进程比较,共同点都是程序的一个执行过程。

不同点是进程是一个实体,每个进程有自己的状态、专用数据线(独立内存资源);同一个进程下的现成共享进程的数据段。创建进程时,必须建立其专用的数据段;创建线程时不必建立新的数据段。线程不是能够独立运行的程序,而只是某个进程内的一个执行流。

 

线程的建立和线程间的切换速度大大超过进程,不需要数据段的保护和恢复。同时,又具备进程的大多数优点,所以线程的执行效率比进程的执行效率高。缺点是由于多个线程共享数据段,带来的数据访问过程中的互斥和同步问题,使系统管理变得复杂。

多线程在提高输入\输出设备平行工作能力、有效利用系统资源、改善计算机通信及发挥硬件的多处理器功能等方面有很大的优势。

posted @ 2018-04-25 10:32  mithrandirw  阅读(277)  评论(0编辑  收藏  举报