¿Python es bueno para la concurrencia?
¿Python es bueno para la concurrencia?

Video: ¿Python es bueno para la concurrencia?

Video: ¿Python es bueno para la concurrencia?
Video: PyConAr 2021 - Concurrencia y paralelismo en Python: Multithreading vs Multiprocessing vs Async 2024, Abril
Anonim

Pitón no es muy bien para CPU-bound concurrente programación. El GIL (en muchos casos) hará que su programa se ejecute como si se ejecutara en un solo núcleo, o incluso peor. Si su aplicación está vinculada a E / S, Pitón puede ser una solución seria ya que el GIL normalmente se libera mientras se realizan llamadas de bloqueo.

También hay que saber si Python admite la concurrencia.

Python hace tienen bibliotecas integradas para los más comunes concurrente construcciones de programación: multiprocesamiento y multiproceso. La razón es, multihilo en Pitón no es realmente multiproceso, debido a la GIL en Pitón.

También se puede preguntar, ¿por qué no es posible el multiproceso en Python? El intérprete de CPython (para puros Pitón code) forzará la liberación de GIL cada cien instrucciones de código de bytes. Simplemente permite que se ejecute un hilo a la vez dentro del intérprete. Tan multiprocesamiento no multihilo le permitirá lograr una verdadera concurrencia.

Posteriormente, la pregunta es, ¿Python es bueno para múltiples subprocesos?

Pitón no permite multihilo en el verdadero sentido de la palabra. Tiene un multihilo paquete pero si quieres multihilo para acelerar su código, por lo general no es un bien idea de usarlo. Pitón tiene una construcción llamada Global Interpreter Lock (GIL).

¿Qué módulo se puede utilizar para implementar la simultaneidad en Python 3?

los concurrente . futuros módulo fue agregado en Pitón 3.2. De acuerdo con la Pitón documentación, proporciona al desarrollador una interfaz de alto nivel para ejecutar invocables de forma asincrónica.

Recomendado: