进程线程协程
2018-09-01 05:54:33来源:博客园 阅读 ()
一、进程:
进程是一个程序在一个数据集中的一次动态执行过程,可以理解为“正在执行的程序”。进程一般由程序集、数据集、进程控制块三部分组成。进程是系统进行资源分配和调度的基本单位,是操作系统的基础。进程是线程的容器,进程是程序的实体。
程序集:描述进程要完成哪些功能以及如何完成
数据集:程序在执行过程所需要使用的资源
进程控制块:保存程序运行的状态
进程的局限性是创建、撤销和切换的开销比较大。
二、线程
线程也叫轻量级进程,它是一个基本的CPU执行单元,也是程序执行的最小单位。一个进程最少有一个主线程。
线程的优点:减小了程序并发执行的开销,提高了系统的并发性能。
线程的缺点:线程没有自己的系统资源,只有运行时不可缺少的资源,但是同一进程的各线程可以共享进程所拥有的系统资源。对于某些独占资源存在锁机制,处理不当会出现死锁。
三、协程
协程是一种用户态的轻量级线程,又称微线程。协程调度完全由用户控制,相当于子程序。
协程的优点:协程执行效率高。因为子程序切换不是线程切换,由程序自身控制,没有线程切换的开销。
协程不需要多线程的锁机制。在协程中控制共享资源不加锁,只需要判断状态就好
四、进程和线程区别
1、资源方面:进程间相互独立,同一进程的各线程间共享。某进程内的线程在其他进程不可见
2、通信:进程间通信IPC,进程间可以直接读写进程数据段进行通信——需要进程同步和互斥手段辅助,以保证数据的一致性
3、调度和切换:线程上下文切换比进程上下文切换要快的多
4、在多线程OS中,线程不是一个可执行的实体
五、并发并行
1、并行是两个或者多个时间在同一时刻发生的;而并发是两个或者多个时间在同一时间间隔发生。
2、并行是在不同实体上的多个事件,并发是同一实体上多个事件
3、在一台机器上同时处理多个文件;在多个处理器上同时处理多个任务
解释:
并行:同时做不同事情的能力
并发:交替做不同事情的能力
专业术语:
并行:不同的代码块同时执行
并发:不同的代码块交替执行
并行并发的意义:
并发和并行都可以处理“多任务”,二者的主要区别在于是否是“同时进行”多个的任务。
但是 涉及到任务分解(有先后依赖的任务就不能做到并行)、任务运行(可能要考虑互斥、锁、共享等)、结果合并
下一篇文章再贴代码
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- Python连载30-多线程之进程&线程&线程使用 2019-08-13
- python多线程同步实例分析 2019-08-13
- xpath+多进程爬取八零电子书百合之恋分类下所有小说。 2019-08-13
- xpath+多进程爬取全书网纯爱耽美类别的所有小说。 2019-08-13
- 进程相关 2019-08-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash