在多个核心上运行Python线程

5
我知道Python 2.7不允许在不同的核心上运行多个线程,你需要使用模块来实现一定程度的并发。我正在研究Python 3.4中的模块。使用是否允许您在不同的进程上运行不同的线程,或者它仍然受GIL限制?如果不是,请问是否有一种方式可以在Python 3.4中使用不同的处理器运行线程?
对于我的用例,使用多个进程绝对不可行。

只是好奇 - 在什么情况下,多个进程会绝对不可行? - Roberto
假设你正在开发一款内存非常有限的嵌入式系统。在那里生成多个进程并不是一个好主意,对吗?尽管我同意 Python 也不应该是首选语言。这只是我正在进行的一个小实验。 - Diptesh Chatterjee
1个回答

5

No. ThreadPoolExecutor只是一个类,用于在多个线程上安排工作。所有正常的线程约束仍然适用。

为了消除一些混淆,线程将在操作系统选择的不同处理器/核心上运行,它们只是不会同时运行。异常情况是一些基于C的函数在执行不需要锁定的操作时暂时释放GIL。


谢谢。那完美地回答了这个问题!! - Diptesh Chatterjee

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接