問題タブ [concurrency-runtime]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - concurency::task() API を分析する & なぜこれが必要なのですか?
私は、以下のコード スニペットの concurrency::task の構文を理解しようとしています。
このコード スニペットの構文を理解できません。これをどのように分析しますか:
ここで「getFileOperation」とは何ですか。タイプ StorageFile クラスのオブジェクトですか? ここで「then」キーワードとはどういう意味ですか? その後に「{」がある(....)? この構文を解析できませんか?
また、なぜこの concurrency::task().then().. ユース ケースが必要なのですか?
c++ - タスクの継続のために前のスレッドを再利用するように C++ 同時実行ランタイムに指示する方法
ビジュアル C++ コンカレンシー ランタイムを使用してタスクを作成し、その上で 4 つの継続をスケジュールしました
これにより、次の出力が出力されます
4 つの継続が最初のタスクと同じスレッドでスケジュールされていないことに注意してください。最初のタスクと同じスレッドで継続をスケジュールする方法はありますか? TaskContinuationOptions.ExecuteSynchronouslyオプションを使用することで、C# でこれが可能になると思います。
c++ - 非同期操作を構成する方法は?
非同期操作を構成する方法を探しています。最終的な目標は、非同期操作を実行し、完了まで実行するか、ユーザー定義のタイムアウト後に戻ることです。
例として、次のコルーチンを組み合わせる方法を探しているとします1 :
インスタンスでsocket_
あることStreamSocket
。
そして、タイムアウト コルーチン:
これらのコルーチンを組み合わせて、データが読み取られるか、タイムアウトが経過すると、できるだけ早く戻る方法を探しています。
これまでに評価したオプションは次のとおりです。
- C++20 コルーチン: P1056R0を理解している限り、現在、 「コルーチンの作成と構成を可能にする」ライブラリまたは言語機能はありません。
- Windows ランタイムが提供する非同期タスク タイプは、最終的にはIAsyncInfoから派生します。繰り返しますが、必要な方法でタスクを組み合わせることができる機能は見つかりませんでした。
- 同時実行ランタイム: これは有望に見えます。特に
when_any
関数テンプレートはまさに私が必要としているものです。
そのことから、同時実行ランタイムを使用する必要があるようです。とはいえ、すべてのパーツを揃えるのは難しい。例外を処理する方法と、それぞれの他の同時タスクのキャンセルが必要かどうかについて、特に混乱しています。
質問は 2 つあります。
- コンカレンシー ランタイムは唯一のオプションですか (UWP アプリケーション)?
- 実装はどのようになりますか?
1 メソッドはアプリケーションの内部にあります。Windows ランタイムと互換性のある型を返す必要はありません。