我知道Python 2.7不允许在不同的核心上运行多个线程,你需要使用模块来实现一定程度的并发。我正在研究Python 3.4中的模块。使用是否允许您在不同的进程上运行不同的线程,或者它仍然受GIL限制?如果不是,请问是否有一种方式可以在Python 3.4中使用不同的处理器运行线程?
对于我的用例,使用多个进程绝对不可行。
对于我的用例,使用多个进程绝对不可行。
No. ThreadPoolExecutor只是一个类,用于在多个线程上安排工作。所有正常的线程约束仍然适用。
为了消除一些混淆,线程将在操作系统选择的不同处理器/核心上运行,它们只是不会同时运行。异常情况是一些基于C的函数在执行不需要锁定的操作时暂时释放GIL。