Articles of multithreading

¿Por qué matplotlib requiere trazar solo en el hilo principal?

Estoy tratando de trazar en vivo la salida de un generador. El siguiente código funciona como se esperaba (Ctrl-C termina la ejecución): import numpy as np import pylab as p from Queue import Queue from threading import Thread import time def dataGenerator(): while True: yield np.random.random() def populate(): f = dataGenerator() while True: x = […]

Rastreador multiproceso mientras se usa tor proxy

Estoy tratando de construir un rastreador de múltiples subprocesos que use proxies tor: Estoy usando lo siguiente para establecer la conexión tor: from stem import Signal from stem.control import Controller controller = Controller.from_port(port=9151) def connectTor(): socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, “127.0.0.1”, 9150) socket.socket = socks.socksocket def renew_tor(): global request_headers request_headers = { “Accept-Language”: “en-US,en;q=0.5”, “User-Agent”: random.choice(BROWSERS), “Accept”: “text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8”, “Referer”: […]

TNonblockingServer en thrift se bloquea cuando se abre TFramedTransport

He estado intentando implementar un servidor de ahorro en C ++ para comunicarme con un cliente de Python. Aquí está mi código: Servidor de C ++: shared_ptr _handler (new myHandler()); shared_ptr _processor (new myService(_handler)); shared_ptr _protocolFactory (new TBinaryProtocolFactory()); shared_ptr _threadManager = ThreadManager::newSimpleThreadManager(15); shared_ptr _threadFactory(new PosixThreadFactory()); _threadManager->threadFactory(_threadFactory); _threadManager->start(); shared_ptr _server(new TNonblockingServer(_processor, _protocolFactory, 9090 ,_threadManager));; _server->serve(); Código […]

Python y hilos verdaderamente concurrentes.

He estado leyendo durante horas y ahora puedo entender completamente cómo el subprocesamiento múltiple de Python es más rápido que un solo subproceso. La pregunta realmente proviene de GIL. Si hay GIL, y solo un subproceso se está ejecutando realmente a la vez, ¿cómo puede el subprocesamiento múltiple ser más rápido que un único subproceso? […]

No puedo modificar mi script para delimitar el número de solicitudes mientras se raspa

He escrito un script en Python usando Thread para manejar múltiples solicitudes al mismo tiempo y hacer el proceso de raspado más rápido. El guión está haciendo su trabajo en consecuencia. En resumen, lo que hace el raspador: analiza todos los enlaces de la página de destino que lleva a su página principal (donde se […]

Python: uso de subprocesos o una cola para iterar en un bucle for que llama a una función

Soy bastante nuevo en Python y estoy creando un script que permite llevar datos de nube de puntos de otros progtwigs a Autodesk Maya. Mi script funciona bien, pero lo que estoy tratando de hacer es hacerlo más rápido. Tengo un bucle for que recorre una lista de archivos numerados. Es decir, datafile001.txt, datafile002.txt y […]

Multihilo con Pygame

Tengo algunos problemas para escribir una aplicación Pygame simple que usa hilos. Tenga en cuenta que este es el primer código multiproceso que he escrito. Aquí está la situación. Estoy escribiendo una aplicación simple que dibujará algunas líneas funky en la pantalla. Mi problema es que mientras estoy dibujando las líneas, la aplicación no puede […]

Cómo generar futuro solo si hay trabajadores libres disponibles

Estoy intentando enviar información extraída de las líneas de un archivo grande a un proceso que se ejecuta en algún servidor. Para acelerar esto, me gustaría hacer esto con algunos hilos en paralelo. Usando el backport Python 2.7 de concurrent.futures intenté esto: f = open(“big_file”) with ThreadPoolExecutor(max_workers=4) as e: for line in f: e.submit(send_line_function, line) […]

Python multiproceso ZeroMQ REQ-REP

Estoy buscando implementar un patrón REQ-REP con Python y ZeroMQ usando multiproceso. Con Python, puedo crear un nuevo hilo cuando un nuevo cliente se conecta al servidor. Este hilo manejará todas las comunicaciones con ese cliente en particular, hasta que el socket se cierre: # Thread that will handle client’s requests class ClientThread(threading.Thread): # Implementation… […]

wxpython – hilos y eventos de ventana

Tengo una aplicación wxPython ( http://www.OpenSTV.org ) que cuenta las boletas usando métodos que tienen varias rondas. Me gustaría hacer dos cosas: (1) Para una gran cantidad de boletas, esto puede ser un poco lento, así que me gustaría mostrarle al usuario un cuadro de diálogo de progreso para que no piense que la aplicación […]