Je sous-classe la classe Process dans une classe que j'appelle EdgeRenderer. Je veux utiliser multiprocessing.Pool
, excepté au lieu des processus réguliers, je veux qu'ils soient des instances de mon EdgeRenderer. Possible? Comment?Multiprocessing Python: Pool de processus personnalisés
Répondre
De Jesse Noller:
Il est pas pris en charge dans l'API , mais ne serait pas une mauvaise une addition. Je vais regarder l'ajouter à python2.7/2.6.3 3.1 cette semaine
Je ne vois aucun crochet pour cela dans l'API. Vous pourriez être en mesure de sortir avec la réplication de votre fonctionnalité souhaitée en utilisant initializer
et initargs
argument. Alternativement, vous pouvez construire la fonctionnalité dans l'objet appelable que vous utilisez pour la cartographie:
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)
Vous ne pouvez pas passer une classe en argument à 'p.map', vous obtiendrez une erreur de pickle. Le seul moyen que j'ai trouvé autour de ceci est de mettre en place une sorte de 'pool.map' personnalisé ... en mettant en place et en alimentant moi-même les processus. Malheureusement, ça va prendre plus de lignes. – catwalker333
Cela semble fonctionner:
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. problème producteur/consommateur avec multiprocessing python
- 2. Profilage d'un pool de multitraitement python
- 3. Python: Verrous de `threading` et` multiprocessing` interchangeables?
- 4. IOCP dans le pool de threads personnalisés
- 5. python gestionnaire de multiprocessing et partage de modèles composites
- 6. Multiprocessing avec file d'attente renouvelable
- 7. Gestion de processus Python
- 8. Multiprocessing Python moyen facile de mettre en œuvre un compteur simple?
- 9. Pool de connexions db à travers les processus
- 10. Erreur de pool d'applications
- 11. Python et sous-processus
- 12. Sous-processus Python avec heredocs
- 13. Utilisation de plusieurs processus dans Ruby
- 14. Enregistrement de processus multithread en python
- 15. IIS Pool d'applications PID
- 16. multiprocessing python vs threading pour le travail lié cpu sur windows et linux
- 17. erreur de sortie Python multitraitement
- 18. Problème d'arrêt de pool d'applications IIS 6.0
- 19. Débogage d'un processus python en cours d'exécution
- 20. Utilisation du processeur par processus en Python
- 21. Code Python pour Daemoniser un processus?
- 22. Arguments de chaîne en multiprocesseur python
- 23. Modification de la priorité de processus en Python, multiplate-forme
- 24. Connexion de pool dans asp.net
- 25. Python, sous-processus, devenv, pourquoi pas de sortie?
- 26. Python multitraitement: Envoi de données à un processus
- 27. Python: Variables de shell persistantes dans le sous-processus
- 28. Taille du processus dans XP à partir de Python
- 29. Problème de sous-processus Python avec des esperluettes
- 30. .net pool d'exception
Êtes-vous en train d'écrire votre code pour utiliser multithreading cette façon ? –
Multi-traitement. –