Python SCON、多线程、管理

Python SCON、多线程、管理,python,multithreading,stdout,scons,Python,Multithreading,Stdout,Scons,我将简短地回答我的问题。我正在设置“num_jobs”环境选项。您可能知道,它使SCON以多线程模式运行(取决于cpu计数)。在我的自定义生成器中,我通过子进程调用一些外部可执行文件,子进程将一些输出输出到标准输出 所以问题是:如何将输出同步到标准输出?我需要同步输出,因为我有4个CPU,在构建过程中我把信息搞砸了 谢谢。您可以使用副作用 def MyFunc(env, param): run_ret = env.Command(... external command using pa

我将简短地回答我的问题。我正在设置“num_jobs”环境选项。您可能知道,它使SCON以多线程模式运行(取决于cpu计数)。在我的自定义生成器中,我通过子进程调用一些外部可执行文件,子进程将一些输出输出到标准输出

所以问题是:如何将输出同步到标准输出?我需要同步输出,因为我有4个CPU,在构建过程中我把信息搞砸了


谢谢。

您可以使用
副作用

def MyFunc(env, param):
    run_ret = env.Command(... external command using param ...)

    # ensure that no unit tests are run in parallel
    env.SideEffect('#/GLOABL_LOCK', run_ret)
然后
AddMethod
MyFunc添加到您的环境中。
副作用确保对
命令的不同调用不会同时进行