4
我從主線程產生多個工作線程。我可以從主線程爲每個線程創建message_queue並從主線程發送消息。我問這是因爲消息隊列是用於進程間通信。我可以使用Boost消息隊列進行線程通信嗎
我需要考慮具體的事情有關該
我從主線程產生多個工作線程。我可以從主線程爲每個線程創建message_queue並從主線程發送消息。我問這是因爲消息隊列是用於進程間通信。我可以使用Boost消息隊列進行線程通信嗎
我需要考慮具體的事情有關該
正如Boost Message Queue not based on POSIX message queue?提到的(以及文檔中提到)。如果您正在討論線程,則您擁有相同的地址空間,並且不需要進程間功能。
我會建議您在我的包裝類(has-a relationship)中使用您選擇的STL容器,並使用同步元素(可變排除/互斥體)來包圍setter/getter,如How do I create synchronization mechanisms in managed shared memory segments?所述丟失對象的序列化與進程間通信相比具有性能優勢 - 在進程邊界之間複製數據塊。另一方面,您可以使用所有簡潔的功能,例如shared_ptr
。