所以我知道即使是多线程的python进程也不能同时使用多个核心。但是,默认情况下,这是否意味着 python 进程被“固定”到一个 CPU 上?固定,我的意思是,python 进程是否总是使用相同的 CPU,或者同一个进程是否可以超时使用我机器的不同 CPU?
1 回答

慕沐林林
TA贡献2016条经验 获得超9个赞
默认情况下,python 进程不会固定到特定的 CPU 内核。事实上,尽管有 GIL,单个 python 进程可以产生多个线程——每个线程都可以由操作系统在不同的 CPU 内核上同时调度。尽管 GIL 使得多个线程在任何给定时间都难以真正取得进展(因为它们都必须争夺锁),但即使这样也可能发生(本机代码可以释放 GIL,除非 / 直到它需要访问 Python 数据结构)。
当然,您可以使用操作系统实用程序将任何进程(包括 Python)固定到特定的 CPU 内核。
添加回答
举报
0/150
提交
取消