发布网友 发布时间:2022-03-04 04:49
共2个回答
热心网友 时间:2022-03-04 06:19
进程优点:每个进程互相,不影响主程序的稳定性,子进程崩溃没关系;
缺点:需要跨进程边界,如果有大数据量传送,就不太好,适合小数据量传送、密集运算 多进程调度开销比较大。
线程优点:无需跨进程边界;
缺点:每个线程与主程序共用地址空间,受限于2GB地址空间;
区别:
1、操作系统资源管理方式区别
进程有的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响,而线程只是一个进程中的不同执行路径。
2、所处环境区别
在操作系统中能同时运行多个进程(程序);而在同一个进程(程序)中有多个线程同时执行(通过CPU调度,在每个时间片中只有一个线程执行)
3、内存分配方面区别
系统在运行的时候会为每个进程分配不同的内存空间;而对线程而言,除了CPU外,系统不会为线程分配内存(线程所使用的资源来自其所属进程的资源),线程组之间只能共享资源。
参考资料来源:百度百科—进程
百度百科—线程
热心网友 时间:2022-03-04 07:37
进程和线程的区别和联系
1.进程有自己的地址空间;而线程共享进程的地址空间;
2.一个程序至少有一个进程,一个进程至少有一个线程;
3.线程是处理器调度的基本单位,但进程不是;
4.二者均可并发执行
多线程比多进程成本低,但性能更低。
在UNIX环境,多进程调度开销比多线程调度开销,没有显著区别,就是说,UNIX进程调度效率是很高的。内存消耗方面,二者只差全局数据区,现在内存都很便宜,服务器内存动辄若干G,根本不是问题。
多进程是立体交通系统,虽然造价高,上坡下坡多耗点油,但是不堵车。
多线程是平面交通系统,造价低,但红绿灯太多,老堵车。