Podklasy klasy Process, do klasy I nazywam EdgeRenderer. Chcę użyć multiprocessing.Pool
, chyba że zamiast zwykłych procesów, chcę, aby były instancjami mojego EdgeRenderer. Możliwy? W jaki sposób?Python multiprocessing: Pula niestandardowych procesów
Odpowiedz
Od Jesse Nollera:
To nie jest obecnie obsługiwana w API, ale nie byłby zły dodanie. będę patrzeć na dodanie go do python2.7/2.6.3 3.1 w tym tygodniu
Nie widzę żadnego haka w interfejsie API. Możesz być w stanie uciec się z replikacją żądanej funkcjonalności za pomocą argumentu initializer
i initargs
. Alternatywnie, można zbudować funkcjonalności do na żądanie obiektu, który służy do mapowania:
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)
Nie możesz przekazać klasy jako argumentu do 'p.map', dostaniesz błąd pikla. Jedynym sposobem, jaki udało mi się znaleźć, jest zaimplementowanie niestandardowego 'pool.map' .... samodzielnego konfigurowania i ładowania procesów. Niestety zajmie to więcej linii. – catwalker333
To wydaje się działać:
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. Python Multiprocessing prowadzący do wielu procesów zombie
- 2. Python multiprocessing: jak ograniczyć liczbę oczekujących procesów?
- 3. Python multiprocessing Pool vs multiprocessing ThreadPool
- 4. Python Multiprocessing
- 5. Python multiprocessing: map vs map_async
- 6. Python Multiprocessing Documentation Przykład
- 7. Python Multiprocessing Kill Processes
- 8. python: multiprocessing Zdarzenie
- 9. Multiprocessing and Selenium Python
- 10. Python multiprocessing i wspólna zmienna
- 11. Python Multiprocessing: pool.map vs używanie kolejek
- 12. Python multiprocessing Pool.map dzwoni aquire?
- 13. Python Multiprocessing RuntimeError na Windows
- 14. Python multiprocessing Pool with map_async
- 15. Python multiprocessing pool.map podnosi IndexError
- 16. Python decorator with multiprocessing failed
- 17. Python 3.4 multiprocessing nie działa z py2exe
- 18. Pula wątków w języku Python obsługująca wyjątki
- 19. Pula pamięci w sterowniku jądra dla wielu procesów
- 20. Python multiprocessing and networking on Windows
- 21. Python Multiprocessing Lib Error (AttributeError: __exit__)
- 22. Python multiprocessing - Jak monitorować użycie pamięci?
- 23. Python Multiprocessing apply_async używa tylko jednego procesu
- 24. Python multiprocessing Pool zawiesza się na serwerze ubuntu
- 25. Pula wątków PHP?
- 26. Pula wieloprocesorowa Pythona kończy
- 27. SqlAlchemy and Multiprocessing
- 28. Python: Uruchamianie procesów Daemona w Windows7
- 29. Wieloprocesorowe przetwarzanie w Pythonie dla procesów równoległych
- 30. Python multiprocessing łatwy sposób na wprowadzenie prostego licznika?
Czy próbujesz napisać kod w użyciu wielu wątków w ten sposób ? –
Multi-przetwarzanie. –