我最近发现了Python的多处理,所以我在玩它的时候碰到了一堵墙。在
这是我正在使用的脚本:
import multiprocessing, time
def p_def():
print "running p"
time.sleep(5)
def v_def():
print "running v"
time.sleep(5)
p = multiprocessing.Process(target=p_def)
v = multiprocessing.Process(target=v_def)
while True:
time.sleep(0.25)
p.start()
while p.is_alive() == True:
time.sleep(0.5)
print "waiting for it to finish"
当我运行代码时,一切都很好,它会启动p_def,但当它完成并希望再次运行它时,它遇到了一个障碍,并向我输出以下错误:
^{pr2}$我觉得这有点奇怪。我的理解是它应该能够再次运行它,尽管,我在网上看到的是人们说它不能运行同一个东西两次。在
真相是什么?我怎么能让它跑两次?在
你需要重新创建对象p,一个进程只能启动一次。 (https://docs.python.org/2/library/multiprocessing.html#multiprocessing.Process.start)
相关问题 更多 >
编程相关推荐