LINUX.ORG.RU

История изменений

Исправление tp_for_my_bunghole, (текущая версия) :

Вот честно не понимаю зачем при GIL нужен threading.

Например для отправки данных в другие процессы, Queue. Отправку данных проводит автоматически запускаемый фоновый поток. Так как этот поток не выполняет Python код то он освобождает GIL для интерпретатора и занимается конкретно своей задачей - отправлять данные в другой процесс.

GIL это mutex lock всего интерпретатора. Т.е. гранулярность потоков в Python - весь интепретатор. Потоки выполняющие C код запрашивают GIL когда нужно выполнить какой-то Python код.

Потоки в Python средство для конкурентного кода, не параллельного. Потом реализовали в дополнение async.

В РФ и Китае есть такой коллективный психологический комплекс, там многие думают что лаоваи тупые или чего-то не знают сокровенного но при этом лежащего на поверхности, как кажется. А вот они это видят и им подсознательно снова хочется послушать Задорнова который этот комплекс монетизировал, эксплуатировал.

Исходная версия tp_for_my_bunghole, :

Вот честно не понимаю зачем при GIL нужен threading.

Например для отправки данных в другие процессы, Queue. Отправку данных проводит автоматически запускаемый фоновый поток. Так как этот поток не выполняет Python код то он освобождает GIL для интерпретатора и занимается конкретно своей задачей - отправлять данные в другой процесс.

GIL это mutex lock всего интерпретатора. Т.е. гранулярность потоков в Python - весь интепретатор. Потоки выполняющие C код запрашивают GIL когда нужно выполнить какой-то Python код.

Потоки в Python средство для конкурентного кода, не параллельного. Потом реализовали в дополнение async.