Estoy subclasificando la clase Process, en una clase que llamo EdgeRenderer. Quiero usar multiprocessing.Pool
, excepto que en lugar de Procesos normales, quiero que sean instancias de mi EdgeRenderer. ¿Posible? ¿Cómo?Multiproceso de Python: conjunto de procesos personalizados
Respuesta
De Jesse Noller:
No se admite actualmente en la API , pero no sería una mala adición. Voy a mirar a añadirla a python2.7/2.6.3 3.1 esta semana
No veo ningún gancho en la API. Es posible que pueda salirse con la suya replicando su funcionalidad deseada usando el argumento initializer
y initargs
. Alternativamente, se puede construir la funcionalidad en el objeto invocable que se utiliza para la cartografía:
class EdgeRenderTask(object):
def op1(self,*args):
...
def op2(self,*args):
...
p = Pool(processes = 10)
e = EdgeRenderTask()
p.apply_async(e.op1,arg_list)
p.map(e.op2,arg_list)
No puede pasar una clase como argumento a 'p.map', obtendrá un error de pickle. La única forma en que he encontrado esto es implementar un tipo de 'pool.map' personalizado ... configurando y alimentando los procesos yo mismo. Desafortunadamente va a tomar más líneas. – catwalker333
Esto parece funcionar:
import multiprocessing as mp
ctx = mp.get_context() # get the default context
class MyProcess(ctx.Process):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
print("Hi, I'm custom a process")
ctx.Process = MyProcess # override the context's Process
def worker(x):
print(x**2)
p = ctx.Pool(4)
nums = range(10)
p.map(worker, nums)
- 1. Multiproceso de Python: informe de progreso de los procesos
- 2. Multiproceso de Python: ¿cómo comparto un dict entre múltiples procesos?
- 3. Diseño multiproceso de Python
- 4. nginx: ¿Es multiproceso pero utiliza múltiples procesos?
- 5. Multiproceso de Python: cómo limitar el número de procesos en espera?
- 6. problema productor/consumidor con multiproceso de python
- 7. Multiproceso de Python 2.6. ¿Compatible con hilos?
- 8. Python multiproceso: Permiso denegado
- 9. Administración de procesos de Python
- 10. Error de decapado por multiproceso de Python
- 11. Python multiproceso genera continuamente los procesos pythonw.exe sin hacer ningún trabajo real
- 12. ¿Cómo depuro los procesos de compilación personalizados en TFS 2010?
- 13. ¿Cuáles son las ventajas de concurrent.futures sobre multiproceso en Python?
- 14. cómo matar procesos y procesos secundarios de python?
- 15. multiproceso o subprocesamiento en python?
- 16. Python, multihilo demasiado lento, multiproceso
- 17. Multiproceso de Python y un contador compartido
- 18. ¿Un buen servidor web de python multiproceso?
- 19. Multiproceso de Python - Pipe vs Queue
- 20. monitorear procesos python pegados
- 21. Python Multiproceso diff entre Windows y Linux
- 22. Registro Python desde procesos múltiples
- 23. Python: miembros de acceso de un conjunto
- 24. Procesos de fondo asincrónicos en Python?
- 25. Monitoreo de procesos remoto simple con Python
- 26. Memoria compartida entre procesos de python
- 27. Desove indefinido de procesos daemonizados en Python
- 28. Procesos persistentes Post Python Pool
- 29. python Pool with worker Procesos
- 30. comunicación entre procesos en python
¿Estás tratando de escribir el código para utilizar múltiples subprocesos de esta manera ? –
Procesamiento múltiple. –