Czy Python jest dobry dla współbieżności?
Czy Python jest dobry dla współbieżności?

Wideo: Czy Python jest dobry dla współbieżności?

Wideo: Czy Python jest dobry dla współbieżności?
Wideo: How to Deal With Concurrency in Python 2024, Listopad
Anonim

Pyton nie jest bardzo dobry dla procesora równoległy programowanie. GIL (w wielu przypadkach) sprawi, że twój program będzie działał tak, jakby działał na jednym rdzeniu - lub nawet gorzej. Jeśli Twoja aplikacja jest powiązana z We/Wy, Pyton może być poważnym rozwiązaniem, ponieważ GIL jest zwykle zwalniany podczas wykonywania połączeń blokujących.

Warto również wiedzieć, czy Python obsługuje współbieżność?

Python robi mają wbudowane biblioteki dla najczęstszych równoległy konstrukcje programistyczne - wieloprocesorowe i wielowątkowe. Powodem jest wielowątkowość w Pyton nie jest tak naprawdę wielowątkowość, ze względu na GIL w Pyton.

Można też zapytać, dlaczego wielowątkowość nie jest możliwa w pytonie? Interpreter CPython (dla pure Pyton kod) wymusi udostępnianie GIL co sto bajtów instrukcji kodu. Pozwala po prostu na uruchomienie tylko jednego wątku naraz w interpreterze. Więc wieloprocesorowość nie wielowątkowość pozwoli Ci osiągnąć prawdziwą współbieżność.

Następnie pojawia się pytanie, czy Python jest dobry do wielowątkowości?

Pyton nie pozwala wielowątkowość w dosłownym tego słowa znaczeniu. To ma wielowątkowość pakiet, ale jeśli chcesz wielowątkowy aby przyspieszyć kod, zwykle nie jest to dobry pomysł, aby go wykorzystać. Pyton ma konstrukcję o nazwie Global Interpreter Lock (GIL).

Którego modułu można użyć do zaimplementowania współbieżności w Pythonie 3?

ten równoległy . przyszłość moduł został dodany w Pyton 3.2. Według Pyton Dokumentacja zapewnia programiście interfejs wysokiego poziomu do asynchronicznego wykonywania wywołań.

Zalecana: