簡體   English   中英

用於C ++的獨立於平台的並發編程庫

[英]Platform-independent concurrent programming libraries for C++

我熟悉Java中的並發編程,它提供了很多工具。 但是,C ++並發編程並不是那么容易開始使用。

在C ++上同時開始編程的最佳方法是什么? 是否有任何好的庫包裝並發編程基元並為您提供更多高級構造?

我嘗試了QtConcurrent ,它為你提供了很好的MapReduce功能,但它嚴重偏向於使用Qt的並發計算,所以如果你不想使用Qt,它不是一個好的選擇。

還有其他類似的圖書館嗎? 人們在這里使用什么?

謝謝你的幫助提前,謝謝

有幾種選擇:

ACE提供了一些並發結構

英特爾線程構建模塊

提高::線程

OpenMP的

Qt Threading庫

Morendil的建議(CSP - 溝通順序流程)真的很有意思 - 它是一個非常不同的線程視圖,一旦你繞過它就能很好地工作。 我第一次用相當深奧的Occam語言為Transputers遇到它,但這個想法一直困擾着我。

一個更傳統的想法: boost :: threads在構建基於線程的並發程序時非常有效。 但它的水平相當低。

OpenMP處於比線程更高的級別,並且也得到了很好的支持。

您可以查看具有C ++實現的CSP 但是,與Java的線程原語不同。

這個問題以及答案可能對你有所幫助。

英特爾的線程構建模塊非常適合在單個數據並行循環級別引入並發,它負責管理線程並自動分配工作。 它可以以類似的方式用於OpenMP,但不需要顯式編譯器支持。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM