【发布时间】:2017-08-10 01:42:11
【问题描述】:
所以我已经阅读了这篇关于 python 中的异步线程的好文章。艰难,最后一个在GIL 上有些问题,而且线程并不像看起来那么有效。
幸运的是,python 结合了 Multiprocessing,旨在不受此问题的影响。
我想了解如何以异步方式实现多处理队列(为每个进程打开管道),这样它就不会挂起正在运行的 async webserver 。
我已经阅读了这个topic,但是我不是在寻找性能,而是在排除一个让我的网络服务器挂起的大计算。这些计算需要图片,因此它们可能会进行大量的 i/o 交换,但据我了解,这可以通过 async 很好地处理。
所有的计算都是相互独立的,所以它们不能混合在一起。
我正在尝试在 ws 处理程序之前构建它。
如果您在此暗示异端,也请告诉我:)
【问题讨论】:
-
你有什么理由对 python 读模块不感兴趣 (docs.python.org/3/library/threading.html)?
-
是的,CPU 线程有锁定 GIL 的趋势,这会导致孔基础设施变慢。编辑:这里解释dabeaz.blogspot.fr/2010/02/…
-
#python 上的好人给了我关于异步执行器的提示;经过一番研究,似乎完整的答案在这里pythonadventures.wordpress.com/tag/processpoolexecutor
-
您可以将其设为答案并接受它,以便您的线程得到解决。 ;)
标签: python multithreading asynchronous