preloader

1 janvier 1 | 2 minutes de lecture
Index du contenu

Debería seguir un patrón similar a la clase Queue descrita anteriormente pero admitir el comportamiento First In Last Out (FILO) de una pila y ser utilizable con cualquier número de subprocesos de productor y consumidor (puede ignorar los procesos para este ejercicio). La clave para implementar Stack es recordar que no se pueden leer datos desde la pila hasta que haya algunos datos para acceder; por lo tanto, es necesario esperar a datos para estar disponibles y luego leerlos. Sin embargo, es un hilo de productor que proporcionará esos datos y luego informará a cualquier subproceso en espera que no hay datos disponible. Puede implementar esto de la forma que desee; sin embargo un común La solución es usar una Condición. Para ilustrar esta idea, el siguiente programa de prueba se puede utilizar para verificar la comportamiento de su pila: de pila. Pila de importación de pila desde el tiempo de importación del sueño de subprocesos de importación Subproceso def productor (pila): para i en el rango (0,6): datos = ‘Tarea’ + str(i) print(‘Productor empujando:’, datos) stack.push(datos) dormir(2) def consumidor(etiqueta, pila): mientras que es cierto: imprimir (etiqueta, ‘pila.pop():’, pila.pop()) print(‘Crear pila compartida’) pila = pila () imprimir(‘Pila:’, pila) print(‘Creando e iniciando hilos de consumidores’) consumidor1 = Subproceso (objetivo = consumidor, args = (‘Consumidor1’, pila)) consumidor2 = Subproceso (objetivo = consumidor, args = (‘Consumidor2’, pila)) consumidor3 = Subproceso (objetivo = consumidor, args = (‘Consumidor3’, pila)) consumidor1.inicio() consumidor2.inicio() consumidor3.start() print(‘Creando e iniciando el hilo del productor’) productor = Subproceso (objetivo = productor, args = [pila]) productor.inicio() La salida generada a partir de este programa de ejemplo (que incluye sentencias de impresión from the Stack) se da a continuación: 392 32 Sincronización entre subprocesos/procesos

comments powered by Disqus

popular post

Temas de Pregrado en Ciencias de la Computación Guía avanzada a Python 3 Programación Juan caza

Lire plus

Temas de Pregrado en Ciencias de la Computación Guía avanzada a Python 3 Programación Juan caza

Lire plus

• 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.

Lire plus