这是一个创建于 2011 天前的主题,其中的信息可能已经有所发展或是发生改变。
我用 concurrent.futures 的 ThreadPoolExecutor 和 ProcessPoolExecutor
总体路径是,启动一个线程后台循环,当线程满足条件,启动多进程。
先用 ThreadPoolExecutor 开启一个后台线程循环监视 Queue,当 Queue 中被添加后,在线程中运行 self.Execute()
self.Execute() 会创建很多进程。
目前遇到的问题是:
在‘__main__'条件下,手动运行 self.Execute()一切正常。
用进程后台运行时,满足条件 self.Execute()执行后,进程被创建,但是一直是启动状态,不结束也不报错。
请问有解决方案吗?
3 条回复 • 2019-04-05 17:07:18 +08:00
|
|
1
shyrock 2019-04-04 09:03:51 +08:00
你的进程终止条件是什么?
|
|
|
2
ebingtel 2019-04-04 09:16:46 +08:00
手动执行,有 tty ;后台运行没有 tty ……从 tty 入手看看
|
|
|
3
tz1006 2019-04-05 17:07:18 +08:00
@ shyrock 进程运行完成后全部 return 回来, 用.result()取回。
|