python多线程是并发还是并行,进程并发和并行的区别

  python多线程是并发还是并行,进程并发和并行的区别

  

  并行 :

  当系统有多个CPU时,进程的操作可能是非并发的。当一个CPU执行一个进程时,另一个CPU可以执行另一个进程,两个进程可以同时执行而不抢占CPU资源,这就是并行性。

  并发 :

  当有多个进程在运行时,如果系统只有一个CPU,就不能真正同时执行多个进程。它只能把CPU运行时间分成几个时间段,然后把时间段分配给各个进程执行。当进程代码在一个时间段内运行时,其他进程都处于挂起状态,这就叫并发。

  区别:

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

  相关:《Python视频教程》

  流程的状态如下图所示。

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

  (1)就绪状态

  当一个进程已经被分配了除CPU之外的所有必要资源时,只要获得处理器就可以立即执行。此时的流程状态称为就绪状态。

  (2)运行状态当一个进程已经获取了一个处理器,并且它的程序正在该处理器上执行时,此时的进程状态称为运行状态。

  (3)阻塞状态。当一个正在执行的进程因为等待事件发生而无法执行时,它会放弃处理器并处于阻塞状态。导致进程阻塞的事件有很多种,例如,等待I/O完成、应用程序缓冲区未被满足、等待信件(信号)等。

  相关建议:

  本文将带您了解Python中的这一过程。

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

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