这篇文章给你们分享的是有关Python进程之并行与并发的区别有哪些的内容。下面咱们一块儿来学习一下吧!算法
进程的并行与并发并发
并行 : 并行是指二者同时执行,好比赛跑,两我的都在不停的往前跑异步
并发 : 并发是指资源有限的状况下,二者交替轮流使用资源,好比一段路同时只能过一我的,A走一段后,让给B,B用完继续给A ,交替使用,目的是提升效率。ide
区别:学习
并行是同时运行,只有具有多个cpu才能实现并行操作系统
并发是是伪并行,即看起来是同时运行。单个cpu+多道技术就能够实现并发,(并行也属于并发)进程
全部现代计算机常常会在同一时间作不少件事,一个用户的电脑(不管是单cpu仍是多cpu),均可以同时运行多个任务(一个任务能够理解为一个进程)。事件
启动一个进程来杀毒(360软件)内存
启动一个进程来看电影(暴风影音)资源
启动一个进程来聊天(腾讯QQ)
全部的这些进程都需被管理,因而一个支持多进程的多道程序系统是相当重要的
多道技术概念回顾:内存中同时存入多道(多个)程序,cpu从一个进程快速切换到另一个,使每一个进程各自运行几十或几百毫秒,这样,虽然在某一个瞬间,一个cpu只能执行一个任务,但在1秒内,cpu却能够运行多个进程,这就给人产生了并行的错觉,即伪并发,以此来区分多处理器操做系统的真正硬件并行(多个cpu共享同一个物理内存)
同步异步阻塞非阻塞
状态介绍
在了解其余概念以前,咱们首先要了解进程的几个状态。在程序运行的过程当中,因为被操做系统的调度算法控制,程序会进入几个状态:就绪,运行和阻塞。
1、就绪(Ready)状态
当进程已分配到除CPU之外的全部必要的资源,只要得到处理机即可当即执行,这时的进程状态称为就绪状态。
2、执行/运行(Running)状态
当进程已得到处理机,其程序正在处理机上执行,此时的进程状态称为执行状态。
3、阻塞(Blocked)状态
正在执行的进程,因为等待某个事件发生而没法执行时,便放弃处理机而处于阻塞状态。引发进程阻塞的事件可有多种,例如,等待I/O完成、申请缓冲区不能知足、等待信件(信号)等。
同步和异步
同步
一个任务的完成须要依赖另一个任务时,只有等待被依赖的任务完成后,依赖的任务才能算完成,这是一种可靠的任务序列。要么成功都成功,失败都失败,两个任务的状态能够保持一致。
异步
不须要等待被依赖的任务完成,只是通知被依赖的任务要完成什么工做,依赖的任务也当即执行,只要本身完成了整个任务就算完成了。至于被依赖的任务最终是否真正完成,依赖它的任务没法肯定,因此它是不可靠的任务序列。