Inhaltsverzeichnis
Sin embargo, el programa de muestra inicia cinco subprocesos, lo que significa que el Los 2 primeros subprocesos en ejecución adquirirán el semáforo y el resto tendrá esperar a adquirir el semáforo. Una vez que los dos primeros suelten el semáforo, otro dos pueden adquirirlo y así sucesivamente. de subprocesos import Thread, Semaphore, currentThread desde el tiempo de importación del sueño def trabajador(semáforo): con semáforo: imprimir (subproceso actual (). obtener nombre () + “- ingresado”) dormir (0.5) print(SubprocesoActual().getName() + " - saliendo") print(‘Subproceso Principal - Inicio’) semáforo = semáforo(2) para i en el rango (0, 5): hilo = hilo (nombre = ‘T’ + str (i), objetivo = trabajador, args=[semáforo]) hilo.start() print(‘Subproceso Principal - Listo’) El resultado de una ejecución de este programa se muestra a continuación: Subproceso principal: inicio T0 - ingresado T1 - ingresado Subproceso principal - Listo T0 - saliendo T2 - ingresado T1 - saliendo T3 - ingresado T2 - saliendo T4 - ingresado T3 - saliendo T4 - saliendo 32.8 La clase de cola concurrente Como era de esperar, el modelo donde un productor Thread o Process genera los datos que van a ser procesados por uno o más subprocesos o procesos de consumidores es tan común que se proporciona una abstracción de mayor nivel en Python que el uso de Locks, Condiciones o Semáforos; este es el modelo de cola de bloqueo implementado por el Clases threading.Queue o multiprocessing.Queue. 32.7 Semáforos de Python 389
popular post
Temas de Pregrado en Ciencias de la Computación Guía avanzada a Python 3 Programación Juan caza
WeiterlesenTemas de Pregrado en Ciencias de la Computación Guía avanzada a Python 3 Programación Juan caza
Weiterlesen• https://docs.python.org/3/ El sitio principal de documentación de Python 3. Contiene tutoriales, referencias de bibliotecas, guías de configuración e instalación, así como Python cómo-tos • https://docs.
Weiterlesen