Errores de programación simultáneos
¿Qué es Xiecheng?
Normalmente, en Python, solemos utilizar multiproceso o multiproceso para implementar programación concurrente. Para tareas informáticas, solemos utilizar multiproceso debido a la existencia de GIL. Para las tareas de IO, podemos usar la programación de subprocesos para permitir que los subprocesos abandonen el GIL al ejecutar tareas de IO, logrando así una concurrencia superficial.
De hecho, para las tareas IO, tenemos otra opción, que es la corrutina, que es "concurrencia" ejecutándose en un solo hilo. En comparación con los subprocesos múltiples, la ventaja de las corrutinas es que eliminan la sobrecarga de conmutación entre subprocesos múltiples y logran una mayor eficiencia operativa. Asyncio en Python también se implementa en base a corrutinas. Antes de entrar en asyncio, primero aprendamos cómo implementar la concurrencia mediante la coordinación del generador en Python.
Ejemplo 1
Veamos un ejemplo sencillo para entender qué son las corrutinas. Los amigos que no conocen los generadores sugieren leer primero las respuestas altamente votadas en Stackoverflow.