多进程和多线程
来源:互联网 发布:阿里云 数梦工场 编辑:程序博客网 时间:2024/05/22 04:33
线程是最小的执行单元,而进程由至少一个线程组成。如何调度进程和线程,完全由操作系统决定,程序自己不能决定什么时候执行,执行多长时间。
多进程和多线程的程序涉及到同步、数据共享的问题,编写起来更复杂。
多任务实现有3种方式:
多进程模式,即启动多个进程,每个进程有一个线程,但是多个进程可以一块执行多个任务
多线程模式,启动一个进程,在一个进程内启动多个线程,这样,多个线程也可以一块执行多个任务
多进程+多线程模式,当然还有第三种方法,就是启动多个进程,每个进程再启动多个线程,这样同时执行的任务就更多了,当然这种模型更复杂,实际很少采用。
对比维度
多进程
多线程
总结
数据共享、同步
数据共享复杂,需要用IPC;数据是分开的,同步简单
因为共享进程数据,数据共享简单,但也是因为这个原因导致同步复杂
各有优势
内存、CPU
占用内存多,切换复杂,CPU利用率低
占用内存少,切换简单,CPU利用率高
线程占优
创建销毁、切换
创建销毁、切换复杂,速度慢
创建销毁、切换简单,速度很快
线程占优
编程、调试
编程简单,调试简单
编程复杂,调试复杂
进程占优
可靠性
进程间不会互相影响
一个线程挂掉将导致整个进程挂掉
进程占优
分布式
适应于多核、多机分布式;如果一台机器不够,扩展到多台机器比较简单
适应于多核分布式
进程占优
多进程multiprocessing:
阅读全文
0 0
- 多进程和多线程
- 多线程和多进程
- 多进程和多线程
- 多进程和多线程
- 多线程和多进程
- 多进程和多线程
- 多进程和多线程
- 多进程和多线程
- 多进程和多线程
- 多进程和多线程
- 多线程和多进程
- 多进程和多线程
- 多线程和多进程
- 多进程和多线程
- 多线程和多进程
- 多进程和多线程
- 关于多线程和多进程
- 【复习】多线程和多进程
- 简易在线留言板(上)——树洞留言板
- spring PropertyPlaceholderConfigurer自定义属性
- 那什么是外键 外键有什么作用呢
- hdoj 1007 Quoit Design(分治法)
- VS2012程序打包部署详解
- 多进程和多线程
- java默认执行路径
- yum 安装php-fpm+nginx+mysql教程
- 简单的贪吃蛇游戏实现
- struts2 iterator迭代
- Android Studio 翻译插件Translation的安装
- 这可能是最好的RxJava 2.x 教程(完结版)
- linux下tomcat的80端口被占用的解决办法
- XML文档的四种生成和解析方法详解