关于进程和线程

关于进程和线程,第1张

关于进程线程 1.进程

通常来说一个应用程序就是一个进程,一个进程下面有很多个线程。
进程是系统进行资源分配的独立实体, 且每个进程拥有独立的地址空间。

进程之间的通信

进程间通信 IPC(管道,信号量,共享内存,消息队列)。

进程:每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销,一个进程包含1–n个线程。(进程是资源分配的最小单位)
线程:同一类线程共享代码和数据空间,每个线程有独立的运行栈和程序计数器(PC),线程切换开销小。(线程是cpu调度的最小单位

四、进程与线程的选择取决以下几点:

需要频繁创建销毁的优先使用线程;因为对进程来说创建和销毁一个进程代价是很大的。
线程的切换速度快,所以在需要大量计算,切换频繁时用线程,还有耗时的 *** 作使用线程可提高应用程序的响应
因为对CPU系统的效率使用上线程更占优,所以可能要发展到多机分布的用进程,多核分布用线程;
并行 *** 作时使用线程,如C/S架构的服务器端并发线程响应用户的请求;
需要更稳定安全时,适合选择进程;需要速度时,选择线程更好

三、进程与线程的区别:
(1)调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位

(2)并发性:不仅进程之间可以并发执行,同一个进程的多个线程之间也可并发执行

(3)拥有资源:进程是拥有资源的一个独立单位,线程不拥有系统资源,但可以访问隶属于进程的资源.

(4)系统开销:在创建或撤消进程时,由于系统都要为之分配和回收资源,导致系统的开销明显大于创建或撤消线程时的开销。

进程和线程有点像团和连的关系,连就是执行任务最小的单位,但是独立性很低。连没有参谋部,是执行单位,需要执行团部的命令,一个连缺乏资源,需要用到团的资源。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/zaji/5695201.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存