知行编程网知行编程网  2022-10-28 15:30 知行编程网 隐藏边栏  105 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于Python进程之串行与并行的相关知识,包括并行处理并发,以及python 多线程并行这些编程知识,希望对大家有参考作用。



Python进程的串行和并行



串行和并行

串行是指如何执行任务。当多个任务串行执行时,每个任务都按顺序执行,只有一个任务完成后才能执行下一个任务。 (以早期的单核 CPU 为例)

并行意味着多个任务可以同时执行(前提是多核CPU)不需要等待。


同步和异步

所谓同步,是指当一个任务的完成需要依赖另一个任务时,需要等待依赖的任务完成才能完成依赖的任务,这是一个可靠的任务序列。要成功和失败,两个任务的状态可以保持一致,需要等待和协调运行。

所谓异步是相互独立的。分配了一个任务之后,就不需要等待任务的执行结果了,继续做自己的事情。分配的任务是成功执行还是失败都没有关系。 .无法确定其他任务是否真正完成,因此它是一个不可靠的任务序列。


小结:

1、串行与同步的区别:串行是指在早期的单核CPU中,一台计算机只能同时执行一个程序。如果要运行另一个程序,则需要在执行下一个程序之前关闭当前程序。 , 适用于多个程序。同步意味着一次只能在一个程序中执行一个任务。它适用于程序中的多个进程或多个线程。

所以两者有本质的区别。串行用于多个程序,同步用于一个程序内的多个进程或线程。

2、并行与异步的区别:并行是指多核CPU,可以同时执行多个程序。异步意味着可以在同一个程序中执行多个进程或多个线程。

两者的本质区别在于并行是指多个程序,而异步是指一个程序内的多个进程和多个线程。

3、并行和并发的区别:并行和并发都是指多个程序,但区别在于并行可以同时执行多个任务,而并发只能同时执行一个任务。 CPU上可以打开多个程序,可以按时间片轮询多个程序。从用户的角度来看,它实现了多个程序同时伪并行执行。从 CPU 的角度来看,它一次只能执行一个程序。 ,所以他是串口的,但是因为CPU切换速度太快我们从表面上看不出来。

并行是多个程序同时执行的真实,并发是通过时间轮询的伪并行。


阻塞与非阻塞:

阻塞:只要涉及到I/O操作或者网络请求,都会被阻塞,比如read、recv、accept。

非阻塞:只要不涉及I/O,内存中可以直接计算的网络请求都是非阻塞的,例如:list.append(8), dict["a"]=1 是非阻塞的阻塞。

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

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