Articles of multihilo

¿Qué tan eficiente es el enhebrado en Python?

Escuché que el subprocesamiento no es muy eficiente en Python (en comparación con otros idiomas). ¿Es esto cierto? Si es así, ¿cómo puede un progtwigdor de Python superar esto?

Un ejemplo multi-threading del python GIL.

He leído un poco acerca de cuán “malo” es este negocio de GIL en Python al escribir código de múltiples subprocesos, pero nunca he visto un ejemplo. ¿Podría alguien darme un ejemplo básico de cuándo la GIL causa problemas al usar subprocesos? ¡Gracias!

¿Es RLock un valor predeterminado razonable sobre locking?

El módulo de subprocesamiento en Python proporciona dos tipos de lockings: un locking común y un locking de reentrada. Me parece que si necesito un locking, siempre debería preferir el locking de locking en lugar del locking; Principalmente para evitar situaciones de punto muerto. Además de eso, veo dos puntos, cuando preferir un locking sobre […]

¿Por qué no es numpy.mean multiproceso?

He estado buscando formas de multiproceder fácilmente algunos de mis códigos de análisis simples desde que me di cuenta de que solo usaba un núcleo, a pesar de que se supone que tiene varios subprocesos. Sé que numpy está configurado para múltiples núcleos, ya que puedo ver que las pruebas que usan numpy.dot usan todos […]

servidor multiproceso python

Lo que estoy tratando de progtwigr es un simple servidor de juegos Python multiproceso para la diversión. Después de mucha frustración, no he podido averiguar por qué el tiempo de conexión de mi cliente de prueba se agota. Aquí está mi código server.py: import socket import threading import clientThread import struct import string class Server: […]

Comportamiento de Python’s time.sleep (0) en Linux: ¿provoca un cambio de contexto?

Este patrón aparece mucho pero no puedo encontrar una respuesta directa. Un progtwig no crítico, no amigable podría hacer while(True): # do some work Usando otras tecnologías y plataformas, si desea permitir que este progtwig se ejecute en caliente (use la mayor cantidad de ciclos de CPU posible) pero sea cortés, permita que otros progtwigs […]

¿Cómo se implementa el multiprocesamiento de Python en Windows?

Dada la ausencia de una llamada de fork () de Windows, ¿cómo se implementa el paquete de multiprocesamiento en Python 2.6 bajo Windows? ¿En la parte superior de los subprocesos de Win32 o algún tipo de horquilla falsa o simplemente la compatibilidad sobre el multihilo existente?

Ejecutando tareas en paralelo en python

Estoy usando python 2.7, tengo un código que se parece a esto: task1() task2() task3() dependent1() task4() task5() task6() dependent2() dependent3() Las únicas dependencias aquí son las siguientes: dependiente1 debe esperar a las tareas 1-3, dependiente2 debe esperar a las tareas 4-6 y dependiente3 debe esperar a dependientes1-2 … Lo siguiente sería correcto: ejecutar las […]

Ctrl-C, por ejemplo, KeyboardInterrupt para matar hilos en Python

Leí en alguna parte que la excepción KeyboardInterrupt solo se genera en el hilo principal de Python. También leí que el hilo principal está bloqueado mientras se ejecuta el hilo secundario. Entonces, ¿significa esto que CTRL + C nunca puede alcanzar el hilo secundario? Probé el siguiente código: def main(): try: thread = threading.Thread(target=f) thread.start() […]

Perfilado de hilos de Python

Estoy tratando de averiguar cómo medir el rendimiento de varios subprocesos de Python en mi aplicación. Actualmente tengo varias tareas que se ejecutan en subprocesos diferentes en función de la entrada del usuario y me gustaría medir el tiempo de ejecución, tal vez incluso el consumo de memoria de cada uno de los subprocesos. He […]