一个进程在GIL下在双核计算机上产生两个线程

问题描述 投票:0回答:1

假设我有一个进程在双核计算机上产生两个线程。

由于GIL,

是否有可能将线程1绑定到Core1而将线程2绑定到Core2,因此他们正在等待在不同CPU上的锁定。

或所有线程始终绑定到特定的CPU,(即使在100核的计算机上产生了100个线程)。

python-3.x multithreading cpu
1个回答
0
投票

默认情况下,线程未绑定到任何CPU -当线程准备好运行时,操作系统将使用操作系统选择的算法将其动态分派以在可用的内核上运行。

因为GIL是全局的,所以给定Python进程中只有一个线程可以在任何给定时间执行Python字节码。该进程中的任何其他线程将被阻止等待获取GIL,因此将根本不与任何核心相关联。

© www.soinside.com 2019 - 2024. All rights reserved.