PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

父进程和子进程可以并发执行吗?

WBOY
WBOY 原创
2022-09-02 11:29:40 3458浏览

父进程和子进程可以并发执行;不管是父进程还是子进程都是系统分配资源的最小单位,都是独立的进程,是可以并发运行的,并发在微观上不是同时执行的,只是把时间分成若干段,使多个进程快速交替的执行,从宏观外来看,好像是这些进程都在执行。

本教程操作环境:windows10系统、DELL G3电脑。

父进程和子进程可以并发执行吗?

可以并发运行,因为不管是父进程还是子进程都是系统分配资源的最小单位,都是独立的进程,是可以并发运行的,跟进程和线程的关系不一样。

并行”是指无论从微观还是宏观,二者都是一起执行的,就好像两个人各拿一把铁锨在挖坑,一小时后,每人一个大坑。

并发”在微观上不是同时执行的,只是把时间分成若干段,使多个进程快速交替的执行,从宏观外来看,好像是这些进程都在执行,这就好像两个人用同一把铁锨,轮流挖坑,一小时后,两个人各挖一个小一点的坑,要想挖两个大一点得坑,一定会用两个小时。

从以上本质不难看出,“并发”执行,在多个进程存在资源冲突时,并没有从根本提高执行效率。

父子进程就是并发的。

在单处理器时,多进程并没有多大意义,单处理器的多任务处理只能是并发(交替以时间片轮询的),此时宏观上是多任务一起进行,实际在微观上却是以时间片交替进行,所以虽是在宏观上一起运行,但所用的时间与一个进程一个进程的执行并没有节省多少,当有进程需要挂起或睡眠时有可能时间会一点,但若是没有挂起或睡眠时,时间可能就会需要长一点,因为在时间片上不断进程转换内核也是需要消耗的。

但在多处理器时,多任务就真的能做到并行性了,多个进程分别在不同处理器上执行,仅在资源冲突和需要同步时,停顿等待一下,其它时间真正做到异步同时执行。但如上所说,当多个进程存在资源冲突时,并没有从根本提高执行效率。

更多相关知识,请访问常见问题栏目!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。