Tôi đang phân lớp lớp Quy trình thành một lớp tôi gọi là EdgeRenderer. Tôi muốn sử dụng multiprocessing.Pool
, ngoại trừ thay vì Quy trình thông thường, tôi muốn chúng là các phiên bản của EdgeRenderer của tôi. Khả thi? Làm sao?Đa xử lý Python: Nhóm các quy trình tùy chỉnh
Trả lời
Từ Jesse Noller:
Nó hiện không được hỗ trợ trong API, nhưng sẽ không phải là một xấu thêm vào. tôi sẽ xem xét thêm nó vào python2.7/2.6.3 3.1 trong tuần này
Tôi không thấy bất kỳ móc nào trong API. Bạn có thể thoát khỏi việc sao chép chức năng mong muốn của mình bằng cách sử dụng đối số initializer
và initargs
. Cách khác, bạn có thể xây dựng các chức năng vào đối tượng có thể được gọi mà bạn sử dụng để lập bản đồ:
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)
Bạn không thể chuyển một lớp làm đối số cho 'p.map', bạn sẽ gặp phải lỗi pickle. Cách duy nhất tôi tìm thấy xung quanh việc này là triển khai một loại 'pool.map' tùy chỉnh .... tự thiết lập và tự cung cấp các quy trình. Thật không may nó sẽ mất nhiều dòng hơn. – catwalker333
Điều này dường như làm việc:
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. Xử lý đa Python cho các quy trình song song
- 2. Tùy chỉnh xử lý lỗi của quy trình unmarshall JAXB
- 3. python đa bơi, chờ cho quá trình và khởi động lại tùy chỉnh xử lý
- 4. Xử lý đa Python: báo cáo tiến trình từ các quy trình
- 5. python đa xử lý
- 6. Trình xử lý gọi lại tùy chỉnh
- 7. Lập hồ sơ đa xử lý python
- 8. Làm thế nào để chấm dứt đúng quy trình con với đa xử lý trong python
- 9. Python: Xử lý đa lõi?
- 10. Hàng đợi đa xử lý trong Python
- 11. Đa xử lý Python: làm cách nào để giới hạn số lượng quy trình chờ?
- 12. Đa xử lý Python: Làm cách nào để chia sẻ một dict giữa nhiều quy trình?
- 13. retthon đa xử lý hồ bơi python
- 14. Khả năng xử lý đa xử lý Python
- 15. giao thức xử lý đa xử lý python
- 16. error_get_last() và trình xử lý lỗi tùy chỉnh
- 17. Sử dụng các ống đa xử lý python
- 18. Trình xử lý giao thức URL tùy chỉnh Qt 5
- 19. Trình xử lý giao thức tùy chỉnh trong chrome
- 20. Trình xử lý sự kiện tùy chỉnh Android
- 21. Trình xử lý sự kiện tùy chỉnh JavaScript
- 22. Thiết kế đa xử lý Python
- 23. Trình xử lý đa xử lý và khách hàng giữa python và pypy
- 24. Công cụ gỡ rối python để đa xử lý
- 25. Xử lý ngày tùy chỉnh WebApi Json.NET
- 26. Xử lý đa xử lý Python hoặc Pool cho những gì tôi đang làm?
- 27. Xử lý các ngoại lệ C++ tùy chỉnh trong Cython
- 28. Nhận quy trình đang chạy xử lý được xử lý
- 29. Vấn đề ssl của Python với đa xử lý
- 30. Quá trình đa xử lý Python so với máy ảo Python độc lập
bạn đang cố gắng để viết mã của bạn để sử dụng đa luồng bằng cách này ? –
Đa xử lý. –