我正在研究Coursera上的一些资料,他们解释说,当使用子流程命令时,将为子流程创建辅助环境(在其示例中,子流程与子流程同义使用)。父进程被锁定,直到子进程完成,然后控制流被传递回父进程。
他们给出的示例如下:
import subprocess
subprocess.run(["sleep", "2"])
上面的代码在Python解释器中执行,在执行sleep命令之后,父进程(python解释器)被锁定,直到子进程(命令subprocess.run(["sleep", "2"])
)完成。
下面的代码产生相同的结果(据我所知)
import time
time.sleep(2)
解释器被锁定直到time.sleep(2)
完成。
在这种情况下还会创建一个子进程吗?Python何时创建子进程?
从time.sleep
技术上讲,是否创建子进程来执行是从技术上讲的。任何值得付出代价的实现,例如最常见的称为CPython的实现,都不会为睡眠而创建单独的进程。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句