Python és bo per a la concurrència?
Python és bo per a la concurrència?

Vídeo: Python és bo per a la concurrència?

Vídeo: Python és bo per a la concurrència?
Vídeo: How to Use FastAPI: A Detailed Python Tutorial 2024, De novembre
Anonim

Python no és gaire bo per a la CPU concurrents programació. El GIL (en molts casos) farà que el vostre programa s'executi com si estigués executant-se en un sol nucli, o encara pitjor. Si la vostra aplicació està vinculada a E/S, Python pot ser una solució seriosa, ja que el GIL normalment s'allibera mentre es bloquegen trucades.

També cal saber, Python admet concurrència?

Python ho fa tenen biblioteques integrades per als més comuns concurrents Construccions de programació: multiprocessament i multiprocés. El motiu és que hi ha multithreading Python no és realment multithreading, a causa del GIL in Python.

També es pot preguntar, per què el multithreading no és possible a Python? L'intèrpret CPython (per pur Python codi) obligarà a alliberar el GIL cada instruccions de codi de cent bytes. Simplement només permet que s'executi un fil alhora dins de l'intèrpret. Així que multiprocessament no multithreading us permetrà aconseguir una concurrència real.

Posteriorment, la pregunta és, és bo Python per multithreading?

Python no permet multifils en el sentit més veritable de la paraula. Té un multifils paquet però si voleu multifil per accelerar el vostre codi, normalment no és a bo idea d'utilitzar-lo. Python té una construcció anomenada Global Interpreter Lock (GIL).

Quin mòdul es pot utilitzar per implementar la concurrència a Python 3?

El concurrents . futurs mòdul s'hi va afegir Python 3.2. D'acord amb la Python La documentació proporciona al desenvolupador una interfície d'alt nivell per executar de manera asíncrona els fitxers invocables.

Recomanat: