几乎每个人在第一次使用 Python 进行线程处理时都意识到,对于那些真正想要并行处理(或者至少给它一个机会)的人来说,GIL 让他们的生活变得很糟糕。
我目前正在考虑实现类似反应堆模式的东西。实际上,我希望在一个类线程上侦听传入的套接字连接,当有人尝试连接时,接受该连接并将其传递给另一个类线程进行处理。
我还不确定我将面临什么样的负担。我知道目前对传入消息设置了2MB 的上限。理论上我们每秒可以得到几千个(虽然我不知道实际上我们是否看到过类似的情况)。处理消息所花费的时间并不重要,尽管显然更快会更好。
我正在研究反应器模式,并开发了一个使用 multiprocessing
库的小例子,(至少在测试中)似乎工作得很好。但是,现在/不久我们将有 异步库可用,它将为我处理事件循环。
asyncio
和 multiprocessing
结合有什么东西可以咬我吗?