Python 子进程在 Windows 上乱序运行

标签 python windows multithreading concurrency process

我在 Windows 上运行 python 脚本。 我有一个像这样的 python 脚本:

subprocess.call(1)

subprocess.Popen(2)

subprocess.call(3)

当我运行脚本时,我得到的运行结果如下:

subprocess.call(3)

subprocess.call(1)

subprocess.Popen(2)

为什么会这样?

最佳答案

您使用 subprocess 创建的每个新流程都会产生一个新的子流程,因此得名。这意味着命令将在不同的时间完成运行,这意味着您将以不同的顺序获得结果。

这与在 Python 中调用函数不同,在 Python 中函数在其他函数运行之前完成运行。

关于Python 子进程在 Windows 上乱序运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26987166/

相关文章:

windows - 关于将应用程序部署到无人值守服务器的可接受的做法是什么?

multithreading - RabbitMQ - 关闭空闲/悬空 channel

python - Tensorflow LSTM - LSTM 单元上的矩阵乘法

作为函数的变量的 Python 命名约定

windows - 如何将 EXE 中的文件偏移量映射到其 PE 部分

C++ 和 Windows - 如何覆盖正在运行的程序的 exe 文件?

c# - 关于模态形式和线程的问题

java - 多线程聊天服务器

python selenium 多个测试用例

c# - Python 和 C# : Is IronPython absolutely necessary?