繁体   English   中英

Python3 多处理和优先级队列

[英]Python3 multiprocessing and priority queue

我有可以分为两个不同选项的输入数据,我们称它们为“a”和“b”。 根据选择的选项,我的程序应该做不同的事情,标有“a”的选项比“b”更重要,它们不能同时运行,所以当输入数据分类为“a”时,我想检查的是有活动的“b”进程,如果是,则杀死它并运行“a”进程,一旦“a”进程完成,再次运行“b”进程。 任何建议如何做到这一点?

如果你不能同时运行多个进程,那么你就不需要多处理,所以我假设你可以同时运行多个 A 任务和多个 B 任务,只是不能同时运行。

最好的方法是拥有一个 controller 进程、一个 A 进程和一个 B 进程。 B 进程定期暂停并使用empty()检查其 pipe 中的停止信号。 如果不为空,则该过程可能会保存其工作终止。

https://docs.python.org/3/library/multiprocessing.html

如果由于某种原因上述情况不可接受,您也可以尝试直接向进程发送信号,但我非常谨慎地发送野生 SIGTERM。

https://docs.python.org/3/library/signal.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM