preloader

1 janvier 1 | 2 minutes de lecture
Index du contenu

Podemos convertir la invocación de este método en un Futuro. Para ello utilizamos un ThreadPoolExecutor importado del módulo concurrent.futures. Luego enviaremos la función de trabajo al grupo para su ejecución. Esto devuelve un referencia a un Futuro que podemos usar para obtener el resultado: desde el tiempo de importación del sueño de concurrent.futures import ThreadPoolExecutor print(‘Configurando ThreadPoolExecutor’) pool = ThreadPoolExecutor(1)

Enviar la función del grupo para que se ejecute

al mismo tiempo - obtener un futuro de la piscina

print(‘Enviando al trabajador al pool’) futuro = pool.submit(trabajador, ‘A’) print(‘Obtuve una referencia al objeto futuro’, futuro)

Obtenga el resultado del futuro - espere si es necesario

print(‘futuro.resultado():’, futuro.resultado()) imprimir(‘Terminado’) La salida de esto es: Configuración de ThreadPoolExecutor Sometiendo al trabajador a la piscina AAOobtuvo una referencia al objeto futuro <Futuro en 0x1086ea8d0 estado=en ejecución> AAAAAAAAfuturo.resultado(): 9 Hecho Observe cómo la salida del programa principal y el trabajador se entrelazan con se imprimen dos ‘A’ antes del mensaje que comienza con ‘Obtuvo un…’. En este caso, se crea un nuevo ThreadPoolExecutor con un hilo en el grupo (por lo general, habría varios subprocesos en el grupo, pero uno se está utilizando aquí con fines ilustrativos). El método de envío () se usa luego para enviar el trabajador de función con el parámetro ‘A’ al ThreadPoolExecutor para que programe la ejecución del función. El método submit() devuelve un objeto Future. El programa principal luego espera a que el objeto futuro devuelva un resultado (llamando el método result() en el futuro). Este método también puede tomar un tiempo de espera. Para cambiar este ejemplo para usar Procesos en lugar de Subprocesos, todo lo que se necesita es para cambiar el ejecutor del grupo a un ProcessPoolExecutor: 398 33 Futuros

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