进程与线程
进程,是一个活动的实体,我们平时所说的程序或者可执行文件并不是一个进程,他们都属于被动实体,只有将程序或者可执行文件调入到内存中才能成为一个活动实体,才能称之为进程。
进程是大多数系统中资源分配的基本单元,进程需要一定的资源,如CPU时间,内存,文件和I/O设备,而这些计算机资源在进程创建时将会被分配给进程。
进程中包含栈,堆和数据段,每个进程所占有的计算机资源都是相互独立的,非共享的。
进程是运行单个执行线程的程序,即单线程进程。
线程,是计算机系统中的一个执行单元,需要依附于进程。线程相对进程来说,是一个更小的执行单位,其创建,状态转换和销魂的开销,相比进程来说都要小。
当一个进程中只有一个执行线程时,称为单线程进程;当一个进程中含有多个执行线程时,称为多线程进程。
对于多线程进程来说,每个线程都是一个执行单元,完成特定的任务,而不同的线程并没有分配到独占的计算机资源,相同进程下的多个线程共享分配给该进程的系统资源。
(如有错误,请纠正,如有补充,请说明,谢谢!)
还没有评论,来说两句吧...