Dip*_*jee 5 python multithreading python-3.4 concurrent.futures
我知道Python 2.7不允许在不同的内核上运行多个线程,并且您需要使用该multiprocessing模块才能实现某种程度的并发性。我正在查看concurrent.futuresPython 3.4 中的模块。使用 a 是否ThreadPoolExecutor允许您在不同的进程上运行不同的线程,或者它仍然受到 GIL 约束?如果没有,是否有办法使用 Python 3.4 在不同处理器上运行线程?
对于我的用例来说,使用多个进程是绝对不可行的。
不。ThreadPoolExector 只是一个帮助在多个线程上调度工作的类。所有正常的线程约束仍然适用。
为了消除一些混乱,线程将根据操作系统的选择在不同的处理器/内核上运行,它们只是不会同时运行。例外情况是,某些基于 C 的函数在执行不需要锁的操作时会暂时释放 GIL。
| 归档时间: |
|
| 查看次数: |
3655 次 |
| 最近记录: |