所以我知道,即使是多线程python进程也不能同时使用多个内核。 但是,默认情况下,这是否意味着将python进程“固定”在一个CPU上?通过固定,我的意思是,python进程将始终使用相同的CPU,还是同一进程可以使用超时我的计算机的不同CPU?
答案 0 :(得分:0)
默认情况下,python进程未固定到特定的CPU内核。实际上,尽管有GIL,但单个python进程仍可以产生多个线程-每个线程都可以由操作系统在不同CPU内核上同时调度。尽管GIL使得在任何给定的时间都很难有多个线程实际取得进展(因为它们都必须争夺锁),但是即使发生这种情况(本机代码也可以释放GIL,除非/直到需要访问Python数据结构为止) )。
当然,您可以使用操作系统实用程序将任何进程(包括Python)固定到特定的CPU内核。