Comparación de procesos, hilos y corutinas.

Descripción popular:

  1. Un jefe quiere abrir una fábrica para producir un determinado producto. Necesita gastar dinero y recursos para hacer una línea de producción. Esta línea de producción tiene muchos dispositivos y materiales. Todos estos recursos preparados para la producción de bienes se denominan: Proceso
  2. Solo la línea de producción no puede ser producida, por lo que el jefe debe encontrar un trabajador para producir. Este trabajador puede usar estos materiales para finalmente hacer los productos paso a paso. El trabajador que hace el trabajo se llama: hilo
  3. Para mejorar la eficiencia de producción, este jefe pensó en 3 métodos:
        (1) Reclutar más trabajadores en esta línea de producción para fabricar productos juntos, de modo que la eficiencia se multiplique, es decir, un solo proceso de múltiples subprocesos
        (2) El jefe descubrió que cuantos más trabajadores en esta línea de producción, mejor, porque los recursos y materiales de una línea de producción son limitados, por lo que el jefe gastó algo de dinero y recursos para comprar otra línea de producción, y luego contrató a más trabajadores. Un paso mejorado, es decir, modo multiproceso multiproceso
        (3) El jefe descubrió que ahora hay muchas líneas de producción y que ya hay muchos trabajadores en cada línea de producción (es decir, el programa es multiproceso y hay muchos hilos en cada proceso). Para mejorar la eficiencia nuevamente, el jefe pensó Una pérdida estipula: si un empleado está temporalmente bien mientras trabaja o espera ciertas condiciones (como esperar materiales o esperar a que otro trabajador termine antes de volver a trabajar), entonces el empleado usa este tiempo para hacer otras cosas Es decir, si un hilo espera ciertas condiciones, puede aprovechar al máximo este tiempo para hacer otras cosas, de hecho, esto es: corutina.
 
Breve resumen:
    1. El proceso es la unidad de asignación de recursos.
    2. Thread es la unidad de programación del sistema operativo
    3. Los recursos necesarios para el cambio de proceso son grandes y la eficiencia es muy baja.
    4. Los recursos necesarios para el cambio de subprocesos son promedio y la eficiencia es promedio (por supuesto, sin considerar el GIL (bloqueo global del intérprete))
    5. Los recursos de la tarea de cambio de rutina son pequeños y altamente eficientes
    6. El multiproceso y el multiproceso pueden ser paralelos de acuerdo con diferentes núcleos de CPU, pero la rutina está en un subproceso, todos son concurrentes

Supongo que te gusta

Origin www.cnblogs.com/zuzhuangmengxiang/p/12696413.html
Recomendado
Clasificación