进程和线程的区别

什么是进程和线程

1、进程:一个在内存中运行的应用程序。每个进程都有自己独立的一块内存空间,一个进程可以有多个线程。

2、线程:进程中的一个执行任务(控制单元),负责当前进程中程序的执行。一个进程至少有一个线程,一个进程可以运行多个线程,多个线程可共享数据。

进程和线程的区别

为了理解更加形象把进程比成火车,线程比成火车上的车厢

车厢必须在火车上所以线程必须在进程下进行单独的车厢是无法运行的,线程也如此。

1、一个进程可以包含多个线程(一辆火车可以有多个车厢)

2、不同进程间数据很难共享(一辆火车上的乘客很难换到另外一辆火车,比如站点换乘)

3、同一进程下不同线程间数据很易共享(A车厢换到B车厢很容易)

4、进程要比线程消耗更多的计算机资源(采用多列火车相比多个车厢更耗资源)

5、进程间不会相互影响,一个线程挂掉将导致整个进程挂掉(一列火车不会影响到另外一列火车,但是如果一列火车上中间的一节车厢着火了,将影响到所有车厢)
6、进程可以拓展到多机,线程最多扩展到多核CPU,而不能扩展到多机(不同火车可以开在多个轨道上,同一火车的车厢不能在行进的不同的轨道上)
7、进程使用的内存地址可以上锁,即一个线程使用某些共享内存时,其他线程必须等它结束,才能使用这一块内存。(比如火车上的洗手间)-“互斥锁”
8、进程使用的内存地址可以限定使用量(比如火车上的餐厅,最多只允许多少人进入,如果满了需要在门口等,等有人出来了才能进去)-“信号量”

最后大家要好好学习,天天向上嘿嘿嘿

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值