私は現在、完全にシングルスレッドである中規模のC++コードベースで作業しています。しかし、パフォーマンスの向上のために並行性と並列性を追求する時が来ています。 GoogleのGoプログラミング言語の並行性モデルに非常に興味があります。非常に軽量なgoroutinesとチャネルの通信システムがあります。GoゴルーチンまたはGoチャネルを実装するC++ライブラリ?
幸いにも、さまざまな理由から、プロジェクトはC++にとどまる必要があります。だから私の質問です:平行性のためのGoパラダイムに近似するC++ライブラリがありますか?具体的には、C++で利用可能なgoroutinesまたはgoチャネルの近似はありますか?私のfallbackプランはboost :: threadを使うだけです。
問題のアプリケーションは、財務予測ドメインの長期実行の独自のシミュレーションです。通常はCPUにバインドされていますが、新しいデータが利用可能になるとIOでブロックされます。関連する計算の多くは以前の結果に依存せず、並行して実行することもかなり容易にできます。分散したコンテキストでアプリケーションを実行できることは長期的な目標ですが、直ちに解決する必要はありません。
類似した質問:http://stackoverflow.com/questions/2190231/looking-for-ac-or-c-library-providing-a-functionality-similar-to-google-gos-c – JimR
どのように似ていますか? –
あなたは本当にあなたのプロジェクトについてもっと具体的にする必要があります。さまざまなタイプのアプリケーションが、異なるスレッドモデルに役立つ(またはそうでない)コルーチン(それは基本的にゴルーチンである)またはスレッドです。おそらくイベントモデルがより適しているか、または様々なアクターライブラリの1つです。 **あなたのアプリケーションを記述する**。 – jer