Hầu hết các ví dụ về các nhóm công nhân đa xử lý thực thi một hàm duy nhất trong các quy trình khác nhau, f.e.Các nhóm Mulitprocess với các chức năng khác nhau
def foo(args):
pass
if __name__ == '__main__':
pool = multiprocessing.Pool(processes=30)
res=pool.map_async(foo,args)
Có cách nào xử lý hai chức năng khác nhau và độc lập trong hồ bơi không? Để bạn có thể gán f.e. 15 quy trình cho foo() và 15 quy trình cho thanh() hoặc là một hồ bơi được liên kết với một hàm duy nhất? Hoặc bạn phải tạo các quy trình khác nhau cho các chức năng khác nhau theo cách thủ công với
p = Process(target=foo, args=(whatever,))
q = Process(target=bar, args=(whatever,))
q.start()
p.start()
và quên hồ bơi công nhân?
Và họ sẽ được thực hiện song song hoặc "liên tiếp"? – dorvak
'map_async' trả về ngay lập tức. Miễn là có đủ quy trình miễn phí trong hồ bơi, nhiệm vụ mới sẽ được chạy mà không cần phải đợi. Trong ví dụ trên, chúng sẽ chạy song song. @mad_scientist –
Thx! Nhưng không có cách nào để chỉ định số lượng công nhân/quy trình cụ thể, tôi đoán vậy? – dorvak