我將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多處理池vs進程?
- 3. 多處理Python池
- 4. python多處理池終止
- 5. 池多重處理Python
- 6. Python:多處理產量池
- 7. python多處理池超時
- 8. Python多處理進程號
- 9. Python多處理:最大。池工作進程的數量?
- 10. Python多處理池無法創建足夠的進程
- 11. 守護進程中的Python多處理池
- 12. 進程無法停止在python多處理池中
- 13. Python多進程處理進程名稱
- 14. Python多處理池功能沒有定義
- 15. 如何從python的多處理池中打印進程的進程名稱
- 16. Python多進程池進程數
- 17. Python多處理:來自進程的進度報告
- 18. Python多處理:如何關閉異常時的多處理池
- 19. 多處理池3
- 20. Python多處理的限制。池
- 21. Python多處理池未啓動作業
- 22. 分析一個python多處理池
- 23. 使用Python多處理池的功能
- 24. python多處理中池的用途
- 25. python 2.5.2多處理池行爲
- 26. python tempfile和多處理池錯誤
- 27. Python的多處理池無法完成
- 28. Python多處理池地圖和imap
- 29. Python例程運行速度慢得多,多處理。池
- 30. 顯示Python多處理池地圖調用的進度?
你們是不是要這樣寫代碼中使用多線程? – 2009-04-11 23:27:40
多處理。 – 2009-04-12 10:04:26