Python добър ли е за едновременност?
Python добър ли е за едновременност?

Видео: Python добър ли е за едновременност?

Видео: Python добър ли е за едновременност?
Видео: Создание приложений для мобильных устройств, игр, Интернета вещей и многого другого с помощью AWS DynamoDB, автор Рик Хулихан. 2024, Ноември
Anonim

Python не е много добре за свързани с процесора едновременно програмиране. GIL (в много случаи) ще накара вашата програма да работи така, сякаш работи на едно ядро - или дори по-лошо. Ако приложението ви е I/O-обвързано, Python може да бъде сериозно решение, тъй като GIL обикновено се освобождава, докато извършва блокиране на повиквания.

Освен това трябва да знаете дали Python поддържа едновременност?

Python го прави имат вградени библиотеки за най-често срещаните едновременно програмни конструкции – многопроцесорна и многонишкова. Причината е многонишковостта в Python всъщност не е многонишков, поради GIL в Python.

Човек може също да попита защо многонишковостта не е възможна в python? Интерпретаторът на CPython (за pure Python код) ще принуди GIL да бъде освободен на всеки сто байтов код инструкции. Той просто позволява само една нишка да работи наведнъж в интерпретатора. Така че многопроцесорна не многонишков ще ви позволи да постигнете истинско едновременност.

Впоследствие въпросът е дали Python е добър за многонишковост?

Python не позволява многонишков в истинския смисъл на думата. Има многонишков пакет, но ако искате многонишков за да ускорите кода си, тогава обикновено не е a добре идея да го използвам. Python има конструкция, наречена Global Interpreter Lock (GIL).

Кой модул може да се използва за внедряване на паралелност в Python 3?

В едновременно . фючърси модул беше добавен в Python 3.2. Според Python документация, той предоставя на разработчика интерфейс от високо ниво за асинхронно изпълнение на извиквания.

Препоръчано: