线程与进程的关系



处理多线程就是异步,单线程就是同步
同步是阻塞模式,异步是非阻塞模式。

从一定意义上讲,进程就是一个应用程序在处理机上的一次执行过程,它是一个动态的概念,而线程是进程中的一部分,进程包含多个线程在运行。
程序是一个没有生命的实体,只有处理器赋予程序生命时,它才能成为一个活动的实体,我们称其为进程。
通常在一个进程中可以包含若干个线程,它们可以利用进程所拥有的资源。在引入线程的操作系统中,通常都是把进程作为分配资源的基本单位,而把线程作为独立运行和独立调度的基本单位。由于线程比进程更小,基本上不拥有系统资源,故对它的调度所付出的开销就会小得多,能更高效的提高系统内多个程序间并发执行的程度。
线程和进程的区别在于,子进程和父进程有不同的代码和数据空间,而多个线程则共享数据空间,每个线程有自己的执行堆栈和程序计数器为其执行上下文
多线程主要是为了节约CPU时间,发挥利用,根据具体情况而定。线程的运行中需要使用计算机的内存资源和CPU。
进程间相互独立,同一进程的各线程间共享。某进程内的线程在其它进程不可见。
线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。线程自己基本上不拥有系统资源,
只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源。



线程与进程个人的理解好比地铁资源:

 

好比地铁5号线中的一条线路的阻塞会影响整段5号线的运行。间接的也会影响到其他地铁线路的阻塞。
进程好比站点(国贸站,大望路站等),线程好比线路
一个站点可以有多条线路,站点不是活动的实体是没有能力调配整套地铁资源的。只有中央系统才能统一操作活动的实体。
进程作为地点基本单位,
线程作为独立运行和路线调度的基本单位,不需要拥有资源(如厕所,空调,美化等),所以付出的开销就比较小,多个线路的的通行能更高效提高系统。每条线路有自己设计空间和目标站点就也是所说执行上下文。
子进程和父进程有不同的车站(5号线和1号线东单站),而多个线路可共享同一个站点。
设计线路的长短就相当是计算出时间,距离等。内存资源。多条线种可以缩短距离,从而节约CPU时间,
站点是相互独立的。上一站与下一站线路是共享通信的,某个线路在其他的线路是不可见的。(如果大望路的线路与房山线路没有必要经常通信联系。)是需要知道确定自己上下文就可以了。

线路是站点的链接机构。也是独立运行的基本单位。它拥有的与其他线路一样的配置资源上下文可以彼此通信实现运输。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM