私は新しいVisual StudioネイティブConcurrencyランタイム(ConcRT)を使用しています。それは単なる見落としですか、またはデータのクロススレッドの動きには移動セマンティクスがないという妥当な理由がありますか?それらはすべてコピーのセマンティクスです。並行キューに移動することはできず、asendなどでは移動することもできません。並行キューを構築することさえできません。並行処理でRvalue refs
6
A
答えて
3
私はこの特定のフレームワークについてはわかりませんが、一般的にスレッド間キューの場合はコピーのセマンティクスが必要です。
オブジェクトを作成し、参照/ポインタを取得してキューに移動するとします。次に、もう一方のスレッドはキューからそれを移動します。両方のスレッドが同時にアクセスできます。
一般的なケースでは、追加と削除の両方を同時に行う必要はないと思います(つまり、コピーは1つだけ必要です)。例えばcopy-in move-outであるが、これは意味的にcopy-in copy-outと同じである。
1
rvalueサポートがConcRT、エージェントおよびPPLを強化することができるいくつかの領域があります。大きなソフトウェアプロジェクトのように、他の新機能に依存する機能を構築する場合、すべてを一度に配信できるというリスクは常にあります。
PPLは大きな前進でしたが、「完了」とは決して言いませんでした。 :-)
ConcRT、PPL、またはエージェントライブラリが移動セマンティクスをサポートする必要がある場合は、connect.microsoft.comで提案をお待ちください。
関連する問題
- 1. rvalue refsとstd :: move
- 2. 最も重要なconst&rvalue refs
- 3. JRubyでの並行処理
- 4. Entity Frameworkの並行処理の処理
- 5. Android SharedPreferences並行処理
- 6. 並行処理は並列処理ではありませんか?
- 7. クロージャの「公式」並行処理の例(ロック、アトム、stmを使用)
- 8. 並行処理を処理するPHPのページキャッシュ?
- 9. JEE6 @ApplicationScoped Beanと並行処理
- 10. 複数の並行処理Lua
- 11. データベースの並行処理の仕組み
- 12. MVVMアプリケーションの並行処理アーキテクチャ
- 13. データの並行処理方法は?
- 14. Android SQLiteの並行処理の問題
- 15. MSMQ並行処理設計の問題
- 16. 並行処理とスライス繰り返し
- 17. 並列処理を行う-jコマンド
- 18. Linuxでの並列処理
- 19. Gforth並列処理
- 20. Java並行処理におけるエイリアンメソッドの理解
- 21. 竜巻で並行処理が可能ですか?
- 22. ForkJoinPool並列処理= 1デッドロック
- 23. Javaの並列処理フレームワーク
- 24. OpenCL clEnqueueTasks並列処理
- 25. Javaのループ並列処理
- 26. 分散並列バッチ処理
- 27. freeRTOSと並列処理
- 28. Droolsの並列処理
- 29. OpenMPネストループ並列処理
- 30. TableAdapterでの並行性違反のキャッチと処理
Hehe、CCRに関するこのスターターページに明示的に*記載されています:http://msdn.microsoft.com/en-us/library/dd504870.aspx C + + 0x改善このようなコードはしばらくシチューです。 –
@ハンス:それは一般的な "我々はMSVC10でこれをサポートしています"としての評価基準ですが、特にCCRには何もありません。 – Puppy
私はちょうどそれがCCRのスターターページに記載されているのは面白いと思った。 –