Прикреплен ли питон к одному процессору, или он использует несколько сверхурочных? - PullRequest
0 голосов
/ 07 января 2019

Итак, я знаю, что даже многопоточный процесс Python не может использовать несколько ядер одновременно. Но, по умолчанию, означает ли это, что процесс Python "закреплен" на одном процессоре? Я имею в виду, что при закреплении процесс python будет всегда использовать один и тот же процессор или один и тот же процесс может использовать сверхурочно другой процессор моей машины?

1 Ответ

0 голосов
/ 07 января 2019

По умолчанию процесс python не закреплен за конкретным ядром процессора. Фактически, несмотря на GIL, один процесс Python может порождать несколько потоков, каждый из которых может планироваться одновременно ОС на разных ядрах ЦП. Хотя GIL затрудняет фактическое выполнение нескольких потоков в любой момент времени (поскольку все они должны бороться за блокировку), даже это может произойти (нативный код может освобождать GIL, если / пока ему не потребуется доступ к структурам данных Python. ).

Конечно, вы можете использовать утилиты операционной системы, чтобы прикрепить любой процесс (включая Python) к конкретному ядру ЦП.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...