我试图运行的想法是这样的:
运行 3 个进程进行计算一旦 3 个进程之一完成任务立即杀死其他进程并继续执行主要任务,我不能让它再运行了
我尝试过的事情是:通过 multiprocessing.manager 放置全局变量,但这仍然让进程完成它们的循环。引发异常
操作系统:Windows 蟒蛇:2.7
def f(name):
Doing = True
try:
while Doing:
print 'DOING',name
somecodethatmarksDoingAsFalse()
except Exception as error:
print 'bye'
print error
Doing = False
return True
if __name__ == '__main__':
p = multiprocessing.Process(target=f, args=('bob',))
p2 = multiprocessing.Process(target=f, args=('tom',))
p.start()
p2.start()
p.join()
p2.join()
raise Exception('I know Python!')
sys.exit()
我希望能够在将执行标记为 false、引发异常或在对其中一个进程进行计算时以任何方式终止所有进程
编辑:它不是重复的,因为它仍然完成执行代码,例如请求模块仍然发送数据
千万里不及你
相关分类