多线程和多进程的区别

多线程

线程是cpu调度的最小单位,他被包含在进程之中,是进程中的实际运作单位。而多线程就是指从软件或者硬件上实现多个线程并发执行的技术,具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性能。

多进程

进程是资源分配的最小单位。是现今分时系统的基本运作单位。进程本身不会运行,是线程的容器,一个进程可以有很多线程,每条线程并行执行不同的任务。

区别

从数据共享,同步方面

多进程:数据是分开的:共享复杂,需要用IPC;同步简单

多线程:共享进程数据:共享简单;同步复杂

从内存、CPU方面

多进程:占用内存多,切换复杂,CPU利用率低

多线程:占用内存少,切换简单,CPU利用率高

从创建销毁、切换方面

多进程:创建销毁、切换复杂,速度慢

多线程:创建销毁、切换简单,速度快

从编程调试方面

多进程:编程简单,调试简单

多线程:编程复杂,调试复杂

从可靠性方面

多进程:进程间不会相互影响

多线程:一个线程挂掉将导致整个进程挂掉

从分布式方面

多进程:适应于多核、多机分布 ;如果一台机器不够,扩展到多台机器比较简单

多线程:适应于多核分布

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值