进程与线程、多进程与多线程

进程与线程

1.概念:
进程:进程可以简单的理解为一个可以独立运行的程序单位,它是线程的集合,进程就是有一个或多个线程构成的。

线程:线程是进程中的实际运行单位,是操作系统进行运算调度的最小单位。可理解为线程是进程中的一个最小运行单元。

多进程:多进程就是指计算机同时执行多个进程,一般是同时运行多个软件。
多线程:是指从软件或者硬件上实现多个线程并发执行的技术。
多进程优点
1.每个进程互相独立,不影响主程序的稳定性,子进程崩溃没关系;
2.通过增加CPU,就可以容易扩充性能;
3.可以尽量减少线程加锁/解锁的影响,极大提高性能,就算是线程运行的模块算法效率低也没关系;
4.每个子进程都有2GB地址空间和相关资源,总体能够达到的性能上限非常大
多进程缺点
1.逻辑控制复杂,需要和主程序交互;
2.需要跨进程边界,如果有大数据量传送,就不太好,适合小数据量传送、密集运算
3.多进程调度开销比较大;
多线程优点
1.无需跨进程边界;
2.程序逻辑和控制方式简单;
3.所有线程可以直接共享内存和变量等;
4.线程方式消耗的总资源比进程方式好;
多线程缺点
1.每个线程与主程序共用地址空间,受限于2GB地址空间;
2.线程之间的同步和加锁控制比较麻烦;
3.一个线程的崩溃可能影响到整个程序的稳定性;
4.到达一定的线程数程度后,即使再增加CPU也无法提高性能
5.线程能够提高的总性能有限,而且线程多了之后,线程本身的调度也是一个麻烦事儿,需要消耗较多的CPU

形象的比喻:
单进程单线程:一个人在一个桌子上吃菜。
单进程多线程:多个人在同一个桌子上一起吃菜。
多进程单线程:多个人每个人在自己的桌子上吃菜。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值