是。该功能的以下工作在
f单独的(第三)过程中运行。
from multiprocessing import Processdef f(name): print('hello', name)if __name__ == '__main__': p = Process(target=f, args=('bob',)) p.start() p.join()但是,要查看
C:UsersTerry>python -m idlelibhello bob
(
idlelib.idle在2.x上使用。)原因是IDLE在单独的进程中运行用户代码。当前,IDLE进程和用户代码进程之间的连接是通过套接字进行的。通过多处理完成的派生不会复制或继承套接字连接。当通过图标或资源管理器(在Windows中)启动IDLE时,打印输出无处可去。当使用
python(而不是
pythonw)从控制台启动时,输出将进入控制台,如上所述。



