并行 :
当系统有多个 CPU 时,进程的操作可能是非并发的。当一个 CPU 执行一个进程时,另一个 CPU 可以执行另一个进程,并且两个进程不会互相抢占对方的 CPU 资源,可以同时执行。这种方法称为并行。
并发 :
当有多个进程在运行时,如果系统只有一个CPU,是不可能同时执行多个进程的。它只能将CPU运行时间划分为几个时间段,然后将时间段分配给每个进程。执行,当进程代码运行一段时间后,其他进程处于挂起状态,这种方式我们称之为并发。
区别:
并发和并行是两个既相似又不同的概念。并发是指同时同时执行两个或多个事件,而并发是指通过时间片依次执行两个或多个事件。在多道程序环境中,并发性是指宏观上,多个程序在一段时间内同时运行,但在单核CPU中,只能同时执行一个程序,所以微观上,这些程序只能分为交替时间和地点。如果计算机中有多个CPU,则可以将这些可以并发执行的程序分配给多个处理器,实现并行执行,即每个处理器用于处理一个可以并发执行的程序,从而可以实现多个程序同时执行。可以同时执行。
进程的状态如下图所示
在了解其他概念之前,我们首先需要了解流程的几个状态。在程序运行的过程中,由于受操作系统调度算法的控制,程序会进入几种状态:就绪、运行和阻塞。
(1)就绪(Ready)状态
当进程已分配到除CPU以外的所有必要的资源,只要获得处理机便可立即执行,这时的进程状态称为就绪状态。
(2)执行/运行(Running)状态当进程已获得处理机,其程序正在处理机上执行,此时的进程状态称为执行状态。
(3)阻塞(Blocked)状态正在执行的进程,由于等待某个事件发生而无法执行时,便放弃处理机而处于阻塞状态。引起进程阻塞的事件可有多种,例如,等待I/O完成、申请缓冲区不能满足、等待信件(信号)等。
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ python中pandas的知识点12/17
- ♥ 初学者学C语言还是学Python10/31
- ♥ 学习python3看什么书01/08
- ♥ 什么是python字典08/25
- ♥ spyder如何更改python版本08/26
- ♥ 如何使用 format() 格式化输出10/19
内容反馈