Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Когда выйдет(и выйдет ли вообще) Python4 без GIL? Можно ли отключить GIL в Python 3.11 / 3.12.a4 и если можно, то как?

Можно ли создать в текущей версии Python (и как, если возможно) создать НЕЗАВИСИМЫЕ потоки(т.е. когда поток 1 работает, поток n не заблокирован GIL) с ОБЩЕЙ памятью(т.е. чтобы не запускалось n интерпретаторов, занимающие большой объём ОЗУ в сумме).
ПрограммированиеPython+2
Анонимный вопрос
  ·   · 5,0 K
Платные прокси – это отличное решение для тех...  · 21 февр 2023  · proxys.io
На данный момент нет конкретных планов на выпуск Python 4 без GIL. Разработчики Python работают над улучшением многопоточности в текущих версиях Python, включая версию 3.11.
Существуют попытки отключения GIL в нескольких вариантах Python, но эти попытки имеют свои недостатки и риски, включая потенциальные проблемы с совместимостью, производительностью и безопасностью. Отключение GIL может привести к усложнению программирования многопоточных приложений и повышению вероятности ошибок при работе с общей памятью.
В текущих версиях Python (3.x) можно создавать несколько независимых потоков с общей памятью при помощи стандартной библиотеки threading. Однако, из-за наличия GIL, только один поток может выполняться одновременно, что может существенно замедлить производительность программы.
Есть несколько способов обойти ограничения GIL в Python:
  1. Использование multiprocessing вместо threading. В этом случае процессы могут работать независимо друг от друга и не подвержены GIL. Однако, процессы имеют большие накладные расходы на обмен данными и требуют дополнительных ресурсов.
  2. Использование библиотеки asyncio для асинхронного программирования. В этом случае, вместо создания отдельных потоков, программа может использовать асинхронные функции и событийный цикл для выполнения нескольких задач параллельно.
  3. Использование C-расширений, написанных с помощью GIL-безопасных API, которые позволяют избежать блокировки GIL.
Независимо от того, какой подход вы выберете, важно понимать ограничения и риски, связанные с работой без GIL в Python, и использовать соответствующие инструменты и методы программирования, чтобы избежать проблем.
Прокси от PROXYS.IO – это образец надежности и стабильностиПерейти на proxys.io/ru
Анонимный комментарий
21 февр 2023
multiprocessing жрёт память по 10+ мб на  пустой интерпретатор без возможности сделать память общей(особенно... Читать дальше
Программист на Python, инвестор, энтузиаст  · 21 февр 2023
Если сильно упростить, то никто не будет убирать GIL из Python, потому что для этого нужно с нуля переписать интерпретатор. Также, GIL вас уберегает от утечек памяти (а если сами умеете с памятью работать, то вам дорога в... Читать далее
Анонимный комментарий
21 февр 2023
GIL не предотвращает утечки памяти… Их и с GIL можно создать…