Articles of Python Multithreading

Hilo de conexión y PyGTK

Estoy tratando de escribir un progtwig de mensajería instantánea, la interfaz de usuario básica está casi terminada y estoy analizando la parte de recepción de los mensajes. Tengo una clase de interfaz de usuario y una clase Receive_Socket con hilos. Cada vez que el socket de la clase Received_Socket recibe un mensaje, hace un gobject.idle_add […]

Python Webdriver Multithread

Estoy intentando generar múltiples instancias de webdriver con el código de: http://www.ibm.com/developerworks/aix/library/au-threadingpython/ import time import Queue import urllib2 import threading from selenium import webdriver from BeautifulSoup import BeautifulSoup hosts = [“http://yahoo.com”, “http://google.com”, “http://amazon.com”, “http://ibm.com”, “http://apple.com”] queue = Queue.Queue out_queue = Queue.Queue class Login_Driver(threading.Thread): def __init__(self, queue, out_queue, driver): threading.Thread.__init__(self) self.queue = queue self.out_queue = out_queue […]

botella gevent y roscado: gevent solo se puede utilizar desde un solo hilo

Tengo una aplicación de botella de python, que utiliza hilos. debido al hecho de que estoy usando monkey.patch , los subprocesos estaban bloqueando la ejecución de la aplicación (un cuadro de diálogo activado desde un subproceso estaba bloqueando las rutas de la botella para que no respondiera al cliente, hasta que se cerró). Una pequeña […]

Multiprocesamiento de Python: TypeError: cadena esperada o objeto Unicode, no se encontró NoneType

Estoy intentando descargar un directorio ftp completo en paralelo. #!/usr/bin/python import sys import datetime import os from multiprocessing import Process, Pool from ftplib import FTP curYear=”” remotePath =”” localPath = “” def downloadFiles (remotePath,localPath): splitted = remotePath.split(‘/’); host= splitted[2] path=’/’+’/’.join(splitted[3:]) ftp = FTP(host) ftp.login() ftp.cwd(path) filenames = ftp.nlst() total=len(filenames) i=0 pool = Pool() for filename […]

¿Qué pasó con thread.start_new_thread en python 3?

Me gustó la posibilidad de convertir una función en un hilo sin la línea innecesaria para definir una clase. Sé de _thread, sin embargo, parece que no se supone que uses _thread. ¿Existe una buena práctica equivalente de thread.start_new_thread para python 3?

¿Es threading.local () una forma segura de almacenar variables para una sola solicitud en Google AppEngine?

Tengo una aplicación de Google appengine donde deseo establecer una variable global solo para esa solicitud. ¿Puedo hacer esto? En request_vars.py # request_vars.py global_vars = threading.local() En otro.py # another.py from request_vars import global_vars get_time(): return global_vars.time_start En main.py # main.py import another from request_vars import global_vars global_vars.time_start = datetime.datetime.now() time_start = another.get_time() Preguntas: considerando […]

Bloqueo de intérprete global y numpy

Estoy a punto de escribir un código Python intensivo en cómputo que casi con toda seguridad pasará la mayor parte de su tiempo dentro de las funciones de álgebra lineal de numpy . El problema en cuestión es vergonzosamente paralelo . En pocas palabras, la forma más fácil de aprovechar eso sería usar varios subprocesos. […]

Entender el error de subprocesos de Python

Al leer http://bugs.python.org/msg160297 , puedo ver un sencillo script escrito por Stephen White que demuestra cómo Python subyace errores con esta excepción Exception AttributeError: AttributeError(“‘_DummyThread’ object has no attribute ‘_Thread__block'”,) in <module 'threading' Dado el código fuente de Stephen White (http://bugs.python.org/file25511/bad-thread.py), import os import thread import threading import time def t(): threading.currentThread() # Populate threading._active […]

¿Por qué se retrasa mi salida de un subproceso cuando se genera a partir de un hilo de Python?

Esta es una extensión de mi publicación de ayer, que aún no se ha resuelto: ¿por qué el subproceso de Python con el subproceso no funciona como se esperaba? Mientras tanto, encontré algunos detalles interesantes, así que decidí crear una nueva publicación. Para llevarlo al punto: hay algunos problemas, cuando un subproceso se genera a […]

¿Por qué no puedo crear un objeto COM en un nuevo hilo en Python?

Estoy tratando de crear un objeto COM a partir de una dll en un nuevo hilo en Python, por lo que puedo ejecutar una bomba de mensajes en ese hilo: from comtypes.client import CreateObject import threading class MessageThread(threading.Thread): def __init__(self): threading.Thread.__init__(self) self.daemon = True def run(self): print “Thread starting” connection = CreateObject(“IDMessaging.IDMMFileConnection”) print “connection created” […]