注:質問はスタックオーバーフローフォーラムに適さないと見なされ、ここに投稿されているはずなので、これは再投稿です。元のトピックは there です。
その作業を実現するために、マルチスレッド、並列処理、および現在利用可能なライブラリについてお話ししたいと思います。特に、この概念を実現するための使いやすいライブラリ(以下を参照)が既に存在するのか、それとも作成する必要があるのか、そしてそれがどれほど難しいのかと思います。
ライブラリの目的私が探しているのは:
最も重要な機能私が探しているもの:
既存の関連ライブラリ:
これらすべてについてどう思いますか?これらのニーズに対応するライブラリが少ないのはなぜだと思いますか?それとも私はいくつかの素晴らしい図書館を見逃しましたか?そして、それはそれを達成するにはあまりにも多くの仕事を意味すると思いますか?それとも十分に面白くないですか?私が書いた不足は、いくつかの検索で判明したものであることに注意してください。私はこれらのライブラリの専門家ではありません。
このライブラリの最終的な目的は、たとえそれが夢であったとしても、シーケンシャルプログラミングで通常行うのと同じくらい簡単に並列化された方法でプログラミングすることです。
セイロ
TBBはほぼすべてがそれに近づいています。 boost::thread
はレベルが低すぎます。ちなみに、TPLの間違った場所を探しているのですが、Microsoftは、ネイティブコード用のPPL)という別のライブラリを出荷しています。もちろん、これはWindowsのみをサポートしています。
ただし、TBBの使用が複雑であると思われる場合は、検討している開発者が実際に並列アプリケーションを作成できるかどうかを質問します。 TBBには、parallel_for_each
。いくつかのラムダに対応できない場合、同時実行性にどのように対応するかを理解するのは難しいと思います。