preloader

1 de enero de 1 | 2 minutos de lectura
Índice de contenido

o ha mantenido el GIL durante un cierto período de tiempo. Si el tiempo máximo que un el subproceso puede contener el GIL se ha cumplido, el programador liberará el GIL de ese subproceso (resultando que detiene la ejecución y ahora tiene que esperar hasta que tenga el GIL volvió a él) y seleccionará otro hilo para obtener el GIL y comenzar a ejecutar. Por lo tanto, es imposible que los subprocesos estándar de Python se aprovechen de la múltiples CPU típicamente disponibles en hardware de computadora moderno. Una solución a esto es usar la biblioteca de multiprocesamiento de Python descrita en el próximo capítulo. 30.15 Recursos en línea Consulte los siguientes recursos en línea para obtener información sobre los temas de este capítulo: • https://docs.python.org/3/library/threading.html La biblioteca estándar de Python documentación sobre Threading. • https://pymotw.com/3/threading/ La página Módulo Python de la semana en Enhebrar. • https://pythonprogramming.net/threading-tutorial-python/ Tutorial sobre Python Módulo de roscado. 30.16 Ejercicio Cree una función llamada impresora() que tome un mensaje y un valor máximo para utilizar durante un período para dormir. Dentro de la función, cree un bucle que itere 10 veces. dentro del bucle • generar un número aleatorio desde 0 hasta el período máximo especificado y luego dormir durante ese periodo de tiempo. Puede usar la función random.randint() para esto. • Una vez que el período de suspensión haya terminado, imprima el mensaje pasado al función. • Luego vuelva a hacer un bucle hasta que esto se haya repetido 10 veces. Ahora cree cinco subprocesos para ejecutar cinco invocaciones de la función que produjo anteriormente y comience los cinco subprocesos. Cada subproceso debe tener un tiempo max_sleep diferente. Un programa de ejemplo para ejecutar la función de impresora cinco veces a través de un conjunto de subprocesos es dada a continuación: t1 = Subproceso (objetivo = impresora, args = (‘A’, 10)) t2 = Subproceso (objetivo = impresora, args = (‘B’, 5)) t3 = Subproceso (objetivo = impresora, args = (‘C’, 15)) t4 = Subproceso (objetivo = impresora, args = (‘D’, 7)) t5 = Subproceso (objetivo = impresora, args = (‘E’, 2)) t1.inicio() 360 30 enhebrar

comments powered by Disqus

popular post

El modelo AR de series temporales univariadas

Resumen: En esta entrada, descubrirá el modelo AR: El modelo autorregresivo.

Leer más

Evaluación de modelos para pronosticar

Resumen: Al desarrollar modelos de aprendizaje automático, generalmente se comparan varios modelos durante la fase de construcción.

Leer más

Modelos para pronosticar

Resumen: El pronóstico, traducido groseramente como la tarea de predecir el futuro, ha estado presente en la sociedad humana durante siglos.

Leer más