2010-11-03 21 views
16

Có thể tạo một nhóm chủ đề bằng cách sử dụng chủ đề của boost không? tôi đang tìm kiếm trên tất cả các thư viện của boost và tôi không thể tìm thấy một người quản lý hồ bơi thread (hoặc một cái gì đó như thế) ... Có cách nào để làm điều đó?Tạo một hồ bơi chủ đề bằng cách sử dụng tăng cường

tnx!

+0

Xem thêm: http://stackoverflow.com/questions/19500404/how-to-create-a-thread-pool- using-boost-in-c –

+0

Tôi đã đăng một ví dụ về threadpool bằng cách sử dụng boost :: asio tại đây. [Người Gởi Pool Ví dụ với boost :: ASIO] [1] [1]: http://stackoverflow.com/questions/31835009/c-threadpool-is-not-running-parallel/31835802 # 31835802 – DannyK

+0

Bản sao có thể có của [Cách tạo hồ bơi bằng cách sử dụng tăng trong C++?] (Https://stackoverflow.com/questions/19500404/how-to-create-a-thread-pool-using-boost- in-c) –

Trả lời

8

Có một số (chưa) threadpool không chính thức. Nhưng nó không phải là một vấn đề để thực hiện một mình, đặc biệt là nếu genericity tuyệt vời không phải là một mục tiêu chính. Ý tưởng: threadpool của bạn có thể được parametrized với loại TaskType và số lượng công nhân. TP phải được cấp cho hàm xử lý có TaskType. TP chứa hàng đợi các nhiệm vụ được thêm vào. Chức năng thread thực chỉ mất một nhiệm vụ từ hàng đợi và gọi trình xử lý đã truyền. Một cái gì đó như thế.

+0

Tôi đã hy vọng họ đã thêm thư viện threadpool .. Bất kỳ ý tưởng nếu nó sẽ được bổ sung sớm? cảm ơn rất nhiều vì câu trả lời nhanh của bạn! – grich

+0

Tôi không biết chắc chắn nhưng tôi đoán và hy vọng rằng cả ThreadPool và Process sẽ ở 1.45 –

+0

Thư viện threadpool trông đẹp; quá xấu tài liệu bị thiếu (nhiều trang nêu TODO và cảnh báo rằng mô tả đã lỗi thời). Có vẻ như nó chưa nhận được nhiều sự chú ý kể từ năm 2008. –

34

Tôi biết câu trả lời đã được chấp nhận, nếu bạn cần điều này ngay bây giờ và bạn không thể bận tâm khi viết hồ sơ chủ đề của riêng mình, bạn có thể thử sử dụng boost asio io_service với gợi ý đồng thời (tức là có bao nhiêu chủ đề nên chạy) và sau đó đăng() nội dung vào io_service này ... chỉ là một ý tưởng ..

+4

Sử dụng asio tăng là cách đi đúng đắn. Tốt hơn là không nên quản lý nhóm luồng trực tiếp. Tương tự như cách Intel Threading Building Blocks (TBB) thực hiện. – hackworks

+0

Bạn có thể thêm nhiều thông tin hơn về nó không? Nghe có vẻ rất thú vị! – grich

+13

Kiểm tra liên kết này để biết thêm thông tin: http://think-async.com/Asio/Recipes – Ralf

Các vấn đề liên quan