LINUX.ORG.RU
Ответ на: комментарий от Qwentor

Ну например про этот самый GIL и каким образом тогда работает многопоточность в Python

Управление поочерёдно передаётся разным потокам. А GIL освобождается когда поток делает вызов в нативный код, и тогда управление передаётся другому потоку. Поэтому многопоточность (как и асинхронность) хорошо подходят для задач, завязанных на IO.

чем отличается асинхронность от многопоточности

Чтобы понять теорию - почитай, что такое event loop. Так асинхронность работает где угодно, не только в питоне. С практической точки зрения - писать асинхронный код приятнее, чем многопоточный, засчёт присутствия синтаксического сахара. Но нужно дисциплинировать себя чтобы любой потенциально блокирующий вызов выполнялся на event loop’е а не блокировал текущую корутину.

и многопроцессности

многопроцессность нужна только для задач, завязанных на CPU, при условии что эти задачи исполняются в питоновском коде (а не в нативном). То есть очень редко. Главный недостаток - в многопроцессные таски нельзя передать сложные объекты. Только простые, сериализуемые данные.

что-нибудь про различные реализации языка вроде pypy и чем оно отличается, какие плюсы и ограничения

99% тебе оно не нужно

eternal_sorrow ★★★★★
()
Ответ на: комментарий от Qwentor

Не забыл. Ответы на все эти вопросы уже есть в интернете. Научись пользоваться поисковиком.

eternal_sorrow ★★★★★
()
Ответ на: комментарий от eternal_sorrow

Но нужно дисциплинировать себя

В яваскрипте ещё было популярно в цикле асинхронных функций в ожидании наплодить из-за непонимания того, что происходит.

Shadow ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.