История изменений
Исправление 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.