多进程和多线程的对比-2018-03-29

进程是系统进行资源分配和调度的一个独立单位.
线程是进程的一个实体,是CPU调度和分派的基本单位
线程:
主线程会等待所有的子线程结束后才结束,当线程的run方法结束时该线程完成
多线程程序的执行顺序是不确定的
在一个进程内的所有线程共享全局变量,完成多线程之间的数据共享
线程对全局变量的改变可能造成数据混乱(即线程非安全)

功能:
进程和线程都能够完成多任务

不同:
一个程序只有一个进程,一个进程至少有一个线程
进程执行任务时有独立的内存,而多线程共享内存,提高程序的效率
线程不能独立执行,必须依存在进程中

优缺点:
线程资源占有少,但是不利于资源的管理和保护
进程资源占有多,利于资源的管理和保护

选择:
进程的选择:
计算密集型:
1.视频的解码,编码
2.科学数据的计算
工作需要依赖CPU,建议进程的数量等于CPU的数量
线程的选择:
IO密集型:
1.web
2.文件的读写
IO经常阻塞,速度远小于CPU的速度,可以多线程进行,有线程阻塞了,其他线程依然正常工作

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 又来到了一个老生常谈的问题,应用层软件开发的程序员要不要了解和深入学习操作系统呢? 今天就这个问题开始,来谈谈操...
    tangsl阅读 4,332评论 0 23
  • 必备的理论基础 1.操作系统作用: 隐藏丑陋复杂的硬件接口,提供良好的抽象接口。 管理调度进程,并将多个进程对硬件...
    drfung阅读 3,778评论 0 5
  • 1 今天听杰伦的超人不会飞偶然发现原来这首歌的歌词是这么的有深意。 我做很多事背后的意义远比你们想象拍个电视剧为了...
    AIT的简书阅读 931评论 0 0
  • 1 对家人的态度 着急 好胜 不要老让他赢 2 睡觉前活动更合理 围棋游戏 电视99不能超过1个小时 所有活动9点...
    来自星星的壮壮麻麻阅读 288评论 0 0
  • 星垂天地阔,江流入影空。树下何所思?潇洒月明中。 ——2016.10.15(农历九月十五)深夜,正值与老友闲坐于老...
    灯几阅读 287评论 0 0

友情链接更多精彩内容