知行编程网知行编程网  2022-11-01 07:00 知行编程网 隐藏边栏  9 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于Python进程之并行与并发的区别的相关知识,包括python并发和并行,以及多线程是并发还是并行这些编程知识,希望对大家有参考作用。


Python进程的并行和并发的区别


并行 :

当系统有多个 CPU 时,进程的操作可能是非并发的。当一个 CPU 执行一个进程时,另一个 CPU 可以执行另一个进程,并且两个进程不会互相抢占对方的 CPU 资源,可以同时执行。这种方法称为并行。


并发 :

当有多个进程在运行时,如果系统只有一个CPU,是不可能同时执行多个进程的。它只能将CPU运行时间划分为几个时间段,然后将时间段分配给每个进程。执行,当进程代码运行一段时间后,其他进程处于挂起状态,这种方式我们称之为并发。


区别:

并发和并行是两个既相似又不同的概念。并发是指同时同时执行两个或多个事件,而并发是指通过时间片依次执行两个或多个事件。在多道程序环境中,并发性是指宏观上,多个程序在一段时间内同时运行,但在单核CPU中,只能同时执行一个程序,所以微观上,这些程序只能分为交替时间和地点。如果计算机中有多个CPU,则可以将这些可以并发执行的程序分配给多个处理器,实现并行执行,即每个处理器用于处理一个可以并发执行的程序,从而可以实现多个程序同时执行。可以同时执行。

进程的状态如下图所示

Python进程的并行和并发的区别

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

(1)就绪(Ready)状态

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

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

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

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享