2010-11-19 24 views
5

Tôi đang suy nghĩ về thư viện luồng nào để sử dụng cho một dự án C++ tương đối nhỏ mà phải chạy trên kiến ​​trúc x86, x86_64 và powerpc.chủ đề decaf vs chủ đề tăng so với số omnithreads

Dự án đang sử dụng ActiveMQ, cung cấp decaf :: lang :: Thread and decaf :: util :: các cơ sở đồng thời. Tôi không có kinh nghiệm với thư viện này và không thể tìm thấy bất kỳ hướng dẫn/ví dụ nào, chỉ có tài liệu?

Có một trong số các bạn/cô gái từng làm việc với luồng phân đoạn không? Bạn có thể cho tôi biết trải nghiệm của bạn và so sánh một chút với các sản phẩm khác mà bạn biết không?

Cảm ơn bạn, bb

+0

Tôi có chính xác cùng một câu hỏi, vì chính xác cùng một lý do (sử dụng thư viện CPM ActiveMQ). Tôi cần phải chắc chắn mã trong callback onMessage của tôi được đồng bộ hóa. Tôi đoán rằng onMessage sẽ chạy bên trong một chuỗi decaf, vì vậy tôi nên sử dụng các kỹ thuật thread decaf để đồng bộ hóa? (Sẽ được tốt đẹp không phải đoán.) – Duncan

Trả lời

3

Hình như decaf::util::concurrent cơ sở vật chất của ActiveMQ là khá thoải mái ở chỗ chúng cung cấp một số container đồng thời và một cơ sở hồ bơi thread, nhưng tôi vẫn có thể bỏ phiếu cho việc sử dụng boost::thread vì nó dường như là nhiều hơn nhiều tài liệu hơn, trừ khi bạn có thể dự đoán một tình huống mà chủ đề của bạn cần phải thực sự phù hợp với chữ ký loại chủ đề ActiveMQ, nhưng sau khi tìm kiếm nhanh, tôi không thể tìm thấy nhiều dấu hiệu cho thấy điều đó là cần thiết. boost::thread là khá trưởng thành, rất di động, rất đầy đủ tính năng và có tiền thưởng được tài liệu rất tốt.

+0

Nhận ra đây là một chủ đề cũ (thực sự, không có ý định chơi chữ!) Nhưng tôi có cùng một câu hỏi. Xem bình luận của tôi ở trên cho lý do tại sao tôi nghĩ rằng có lẽ tôi DO cần phải sử dụng tiện ích thread Decaf trong mã của tôi. (Tại thời điểm này, tôi muốn sử dụng thư viện chuẩn C++ tiện ích.) – Duncan