Задать вопрос
@Darsatan

Локален ли GIL для каждого Python процесса?

Допустим, имеется 2 программы, которые после запуска запускают новый поток для обработки каких-то данных в фоне. В итоге имеется 2 процесса Python с 2-мя запущенными потоками в каждом (main + data_processing).

Будет ли для каждого процесса свой локальный GIL, или он будет один для всех python'ов? Т.е. пытаться захватить gil будет 4 потока, или конкуренция будет "внутрипроцессной"?
  • Вопрос задан
  • 2344 просмотра
Подписаться 2 Оценить Комментировать
Решения вопроса 1
alexclear
@alexclear
A cat
Конечно, GIL локален для каждого процесса.
Как может быть иначе? Процессы по умолчанию ничем не связаны.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@radioxoma
Да, так что можете использовать модуль multiprocessing, чтобы задействовать все ядра CPU..
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
от 200 000 до 300 000 ₽
Greenway Global Новосибирск
от 150 000 ₽
Akronix Санкт-Петербург
от 150 000 до 200 000 ₽
31 янв. 2025, в 09:18
10000 руб./за проект
31 янв. 2025, в 08:29
1000 руб./в час
31 янв. 2025, в 06:03
9999999 руб./за проект