面试中常被问到的(17)多线程及多进程优缺点

news/2025/1/31 5:38:24/
  • 多进程:

优点:

  1. 进程资源相互独立,互不干扰,子程序崩溃不影响主程序的稳定性。进程比较稳定健壮
  2. 通过增加cpu核心数,可以很容易扩充性能
  3. 尽量减少线程加锁解锁的影响,极大提高性能
  4. 每一个进程可以获得本地全部地址空间和相关资源,性能上限很大

缺点:

  1. 逻辑控制复杂,需要与主程序进行交互
  2. 需要跨进程边界,对大量数据传输不友好,适合小数据量传输,密集运算会导致调度开销增大
  3. 单cpu轮询并发处理,多cpu并行处理
  4. 多线程与多进程结合,每一个cpu开启一个子进程,每一个子进程开启若干同类型数据进行处理。
  • 多线程:

优点:

  1. 无需跨进程边界进行数据传输,通信更便捷(包含进程间通信方式在内的以及全局变量,函数传参)
  2. 程序逻辑和控制方式简单
  3. 所有线程直接共享同一内存地址空间和资源
  4. 线程总资源消耗比线程少(创建销毁成本低,调度成本低)

缺点:

  1. 每个线程与主程序共用地址空间,受限于本地内存空间大小
  2. 线程之间由于共享同一资源,对于资源访问必须需要加锁控制,线程间同步和加锁控制操作麻烦
  3. 一个线程的崩溃可能影响整个程序的稳定性
  4. 线程不是越多越好,cpu资源固定,线程数过多会增加线程切换调度成本

总结:

多进程的优势在于cpu核心数,及资源数量,适用于cpu密集型工作环境

多线程的优势在于切换代价小,适用于IO密集型工作环境涉及频繁IO阻塞导致的线程切换


http://www.ppmy.cn/news/485704.html

相关文章

线程也不是越多越好,多少是好?

前面我们评估了不同大小基因组构建索引所需的计算资源和时间资源和不同大小数据集比对所需的计算资源和时间资源。 下面我们进一步看下不同线程数的影响。 测试电脑配置 这是一个10核、20线程的处理器,主频2.8 G HZ,可超频到5.2 GhZ。在Windows系统上安装…

centos下的Nginx的安装

1.Nginx简介 Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。其特点是占有内存少,并发能力强。 其他服务器介绍:Apache服务器、Tomcat服务器、Lighttpd服务器 2.nginx依赖安装 yum -y instal…

chrome浏览器inspect打不开解决方案

chrome访问chrome://inspect/#devices后,点击inspect映射手机端webview页面定位元素,报错,空白展示。 解决方法:在edge浏览器里,输入chrome://inspect,跳转到edge://inspect页面,点击了inspect…

电脑连接WiFi 网页打不开 QQ可以登上去

1.打开IE浏览器 2.点击Internet选项 点击按钮 选择这里面的internet选项 3 点击连接 4 点击局域网设置 5 代理服务器下面 为LAN....... 取消勾选 然后按确认

safari浏览器找不到服务器怎么办,safari打不开网页因为服务器已停止响应解决方法...

safari打不开网页因为服务器已停止响应解决方法如下: 1、关闭手机或者苹果设备的wifi再打开了; 2、如果不行的话---设置--wifi一点击你的无线路由一选择忽视此网络一退回一重新查找wifi一输入wifi密码! 3、不要去调无线路由!不是它的问题;是手机上过太多的wifi&…

电脑只能上微信不能打开网页_能上微信不能打开网页

大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答。 能上微信不能打开网页的原因: 1、是因为电脑的DNS被修改了 DNS(Domain Name System,域名系统),简单地说:就是把输入的网站域名翻译成…

手机怎么打开html游戏,网页游戏打不开怎么解决 网页游戏打不开解决方法

网页游戏打不开怎么解决 ?网页游戏打不开大多数是浏览器出了问题,下面就给大家带来解决方法,一起来看下。 1、ie版本太低 升级的话很容易,如果你装了金山卫士或者360或者qq管家都可以从软件升级中找到。 2、flash版本太低 页游一般都是基于F…

html5页面打不开原因,有网但是网页打不开是什么原因(原因及2种解决方法)

本来刚交了宽带网络信用卡年费,并且本地连接表明一切正常情况,却偏要打开网站一直发生难题,换了电脑浏览器和重新启动都失效,应该怎么办呢?不必担心!下边小编给大伙儿梳理了一些相关网络链接一切正常可是不…