Python Multiproceesing线程Asyncio

时间:2018-02-20 06:37:32

标签: python multithreading multiprocessing python-multiprocessing python-asyncio

我正在编写一个程序,我需要同时运行两个以上的进程并且它们共享很少的数据。在尝试这样做时,我研究了线程,多处理,Asyncio。由于GIL,线程一次只能运行一个线程,多处理不能快速共享数据,asyncio在这里没用。现在我在这三个之间非常混乱。如何同时运行2个以上的程序?

1 个答案:

答案 0 :(得分:0)

您最好的选择可能是多处理模块。 - > Process-based parallelism

本质上,为了创建一个多进程程序,该模块只是启动一个新的python进程,其中包含你在另一个核心上运行的任何函数。在过去,我有CPU绑定程序,这些程序受益于并行处理大量具有类似功能的数据,这是我找到最多用例的地方。在其他情况下,我知道我是CPU限制并且运行时间很重要,良好的程序组合通常是更好更容易的解决方案。