python多线程并行编程,python并行执行

  python多线程并行编程,python并行执行

  

  串行和并行

  序列化指的是任务的执行方式。当多个任务串行执行时,每个任务按顺序执行,一个任务完成后才能执行下一个任务。(以早期单核CPU为例)

  并行性是指可以同时执行多个任务(提供多核CPU)而无需等待。

  同步和异步

  同步是指当一个任务的完成依赖于另一个任务时,依赖任务只有在等待依赖任务完成后才能完成,这是一个可靠的任务序列。如果成功是成功,失败是不成功,两个任务的状态可以一致,就需要等待,协调运行。

  所谓异步,就是相互独立。任务分配后,不需要等待任务的执行结果,继续做自己的事。不管分配的任务执行成功还是失败,你都不在乎。只要你自己完成整个任务,你就完了。至于其他任务是否真的完成,不确定,所以是不可靠的任务序列。

  相关:《Python视频教程》

  小结:

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

  所以两者是有本质区别的。序列化是针对多个程序的,同步是针对一个程序中的多个进程或线程的。

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

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

  3.并行和并发的区别:并行和并发都是指多个程序,区别在于并行可以同时执行多个任务,而并发只能同时执行一个任务。通过多通道技术可以在空间上打开多个节目,并且可以对多个节目进行时间片轮询。从用户的角度来看,可以实现多个程序同时执行的伪并行。从CPU的角度来看,同一时间只能执行一个程序,所以说它是串行只是因为

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

  阻塞与非阻塞:

  阻塞:任何涉及I/O操作或网络请求的操作都会被阻塞,比如read、recv和accept。

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

  相关建议:

  Python进程的并行性和并发性之间的区别

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: