• 技术文章 >Python技术 >Python基础教程

    Python进程之并行与并发的区别

    爱喝马黛茶的安东尼爱喝马黛茶的安东尼2019-07-06 15:45:26原创3533

    并行 :

    当系统有一个以上CPU时,则进程的操作有可能非并发。当一个CPU执行一个进程时,另一个CPU可以执行另一个进程,两个进程互不抢占CPU资源,可以同时进行,这种方式我们称之为并行。

    并发 :

    当有多个进程在操作时,如果系统只有一个CPU,则它根本不可能真正同时执行一个以上的进程,它只能把CPU运行时间划分成若干个时间段,再将时间 段分配给各个进程执行,在一个时间段的进程代码运行时,其它进程处于挂起状,这种方式我们称之为并发。

    区别:

    并发和并行是即相似又有区别的两个概念,并行是指两个或者多个事件在同一时刻同时执行,而并发是指两个或多个事件通过时间片轮流被执行。在多道程序环境下,并发性是指在一段时间内宏观上有多个程序在同时运行,但在单核CPU中,同一时刻仅能有一道程序执行,故微观上这些程序只能是分时地交替执行。倘若在计算机中有多个CPU,则这些可以并发执行的程序便可被分配到多个处理机上,实现并行执行,即利用每个处理机来处理一个可并发执行的程序,这样,多个程序便可以同时执行。

    相关推荐:《Python视频教程

    进程的状态如下图所示

    z.png

    在了解其他概念之前,我们首先要了解进程的几个状态。在程序运行的过程中,由于被操作系统的调度算法控制,程序会进入几个状态:就绪,运行和阻塞。

    (1)就绪(Ready)状态

    当进程已分配到除CPU以外的所有必要的资源,只要获得处理机便可立即执行,这时的进程状态称为就绪状态。

    (2)执行/运行(Running)状态当进程已获得处理机,其程序正在处理机上执行,此时的进程状态称为执行状态。

    (3)阻塞(Blocked)状态正在执行的进程,由于等待某个事件发生而无法执行时,便放弃处理机而处于阻塞状态。引起进程阻塞的事件可有多种,例如,等待I/O完成、申请缓冲区不能满足、等待信件(信号)等。

    相关推荐:

    一文带你读懂Python中的进程

    专题推荐:python 进程 并行 并发
    上一篇:Python __dir__用法:列出对象的所有属性(方法)名 下一篇:Python进程之串行与并行

    相关文章推荐

    • Python中进程与线程的区别是什么• Python中的并行和并发是什么• Python之线程与进程相关介绍

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网