我遇到了multiprocessing.process的问题 - 当在一个简单的函数上定位它时,似乎这个函数没有被执行。运行这个:
import multiprocessing, time
def f(length):
time.sleep( length )
p = multiprocessing.Process(target=f, args=(1000,))
p.start()
time.sleep(0.5)
print( p, p.is_alive() )
返回
<Process(Process-5, stopped[1])> False
另一方面,使用内置的time.sleep正在运行:
import multiprocessing, time
p2 = multiprocessing.Process(target=time.sleep, args=(1000,))
p2.start()
time.sleep(0.5)
print( p2, p2.is_alive() )
给出
<Process(Process-6, started)> True
我在Windows Sever 2012上使用Spyder 2.3.7 / Python 3.5.0 64位。