Articles of Python Multithreading

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” […]

Cómo encontrar el tiempo de ejecución de un hilo en Python

Tengo un servidor SMTP multi-hilo. Cada hilo cuida de un cliente. Necesito establecer un valor de tiempo de espera de 10 segundos en cada subproceso del servidor para terminar a los clientes inactivos o que se comportan mal. He usado time.time() , para encontrar la hora de inicio y la hora de mi punto de […]

El hilo parece estar bloqueando el proceso.

class MyClass(): def __init__(self): … def start(self): colorThread = threading.Thread(target = self.colorIndicator()) colorThread.start() while True: print (‘something’) … … También tengo una statement print dentro del colorIndicator() . Esa statement se está imprimiendo. Pero la statement de impresión dentro del método while loop of start() no se muestra en la pantalla. El colorIndicator() también tiene […]

Multihilo en Tkinter GUI, hilos en diferentes clases

Actualmente estoy aprendiendo la progtwigción GUI Tkinter. Y estoy atrapado en algún lugar en el concepto de subprocesos múltiples. Aunque este tema se discute varias veces aquí, no pude captar el concepto y aplicarlo a mi pequeño progtwig de muestra. A continuación se muestra mi código: from PIL import Image, ImageTk from Tkinter import Tk, […]