我將Process類繼承到一個類中,我稱之爲EdgeRenderer。我想使用multiprocessing.Pool
,除了常規進程之外,我希望它們是我的EdgeRenderer的實例。可能?怎麼樣?Python多處理:自定義進程池
5
A
回答
3
從傑西洛勒爾:
目前還不支持 API中,但不會是一個壞加成。 我會看看添加它來 python2.7/2.6.3 3.1本週
2
我在API中看不到任何鉤子。您可能能夠通過使用initializer
和initargs
參數來複制所需的功能。或者,你可以建立功能分爲可調用的對象,您使用的映射:
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)
2
這似乎工作:
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多處理。與許多進程池
- 2. 多處理Python池
- 3. python多處理池超時
- 4. python多處理池終止
- 5. 池多重處理Python
- 6. Python多處理進程號
- 7. Python多處理池無法創建足夠的進程
- 8. 進程無法停止在python多處理池中
- 9. Python多處理池功能沒有定義
- 10. 如何從python的多處理池中打印進程的進程名稱
- 11. Python多進程池進程數
- 12. Python多處理:如何關閉異常時的多處理池
- 13. Python多處理:來自進程的進度報告
- 14. 多處理池3
- 15. Python多處理的限制。池
- 16. 分析一個python多處理池
- 17. 使用Python多處理池的功能
- 18. Python多處理池地圖和imap
- 19. Python的多處理池無法完成
- 20. python 2.5.2多處理池行爲
- 21. Python例程運行速度慢得多,多處理。池
- 22. 顯示Python多處理池地圖調用的進度?
- 23. 使用池的Python多處理進行遞歸干擾
- 24. Python多處理+子進程問題
- 25. Python多處理 - 看門狗進程?
- 26. Python的自定義異常處理
- 27. Python中的自定義異常處理
- 28. 處理異常的Python線程池
- 29. 來自fileconfig的Python自定義日誌處理程序
- 30. 如何從Python進程池中取出處理
你們是不是要這樣寫代碼中使用多線程? – 2009-04-11 23:27:40
多處理。 – 2009-04-12 10:04:26