多进程和多线程的差别(优缺点)
目录:
对于问多进程和多线程之间的差别的问题,其实我们只要表明我们所知道的多进程和多线程各自的优点就可以了.
一.多线程的优点
1. 线程间通信会更加灵活
(包括进程间通信在内还可以使用全变量和函数传参来实现)
这里主要因为的是关于线程具体的虚拟空间地址的指向是同一块的,线程的创建并不是像创建进程一样全部复制,并且开辟对应的虚拟地址空间,线程是依赖于第一个开辟的虚拟地址,自己没有单独在创建虚拟地址空间的.
2. 线程的创建和销毁成本比较低
因为线程是在进程的内部,单一的普通线程销毁的时候,对进程本身甚至是其他的线程都没有影响,所以成本比较低
3. 线程间的切换调度成本更加低
因为它所有的线程都是对应映射的同一片虚拟地址空间,并没有单独的开辟,所以只需要在一个虚拟地址空间内部进行调度实现,所以成本比较低
二.多进程的优点
1.稳定,健壮性高 ---- 主要应用于安全性要求较高的场景 --shell/服务器等…
===============================================================
我们在这里只介绍了对应的优点,当然,多进程的优点也就是多线程的确定,大家交换思路理解就可以了
在多任务处理中,性不是进程或者线程越多越好,所对应的执行流太多,反而会增加切换调度的成本