Python - procesos paralelos

   
Vista:

procesos paralelos

Publicado por Aus (1 intervención) el 29/12/2009 14:48:47
Buenas.

Agradeceria si alguien me pudiera explicar como puedo ejecutar varios comandos comandos del sistema de forma paralela con python.
He leido y aplicado el modulo threads. El problema está en que cuando el programa llama a un comando del sistema, se queda a la espera de que este termine y devuelva el control otra vez al programa principal para ejecutar otro hilo. Evidentemente eso no me sirve, necesitaría lanzar todos los hilos al mismo tiempo.
Gracias, saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:procesos paralelos

Publicado por Cyrus (12 intervenciones) el 03/01/2010 19:45:01
Cmo bien dices, hay que hacerlo con hilos (threads)
te ponog un ejemplo de un programa que busca en paginas web:

#!/usr/bin/env python
import threading
import urllib
class FetchUrlThread(threading.Thread):
def __init__(self, url, filename):
threading.Thread.__init__(self)
self.url = url
self.filename = filename
def run(self):
print self.getName(), "Fetching ", self.url
f = open(self.getName()+self.filename, "w")
content = urllib.urlopen(self.url).read()
f.write(content)
f.close()
print self.getName(), "Saved in ", (self.getName()+self.filename)
urls = [ ('http://www.python.org', 'index.html'),
('http://www.google.es', 'index.html') ]
# Recuperar el contenido de las urls en diferentes threads
for url, file in urls:
t = FetchUrlThread(url, file)
t.start()

Espero que te sirva.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:procesos paralelos

Publicado por aus (2 intervenciones) el 16/01/2010 12:02:31
gracias :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar