我正在尝试决定是否应该使用多处理或线程,并且我已经学习了一些有关Global Interpreter Lock的有趣内容.在这篇不错的博文中,似乎多线程不适合繁忙的任务.但是,我还了解到一些功能,如I/O或numpy,不受GIL的影响.
任何人都可以解释为什么,以及我如何能够找出我的(可能非常重的)代码是否适合多线程?
python multithreading numpy multiprocessing gil
我发现了几个SO问题以这种或那种方式询问这个问题,但它们实际上都没有给出一个列表或者引用一个列表.
这个问题指的是一个wiki页面,但在wiki页面会谈有关的GIL和多线程,它不会给的GIL释放功能的列表.
这个邮件列表帖子表明找出的唯一方法是阅读numpy源.真?
python numpy gil
gil ×2
numpy ×2
python ×2
multiprocessing ×1
multithreading ×1