問題タブ [ppl]
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++ - 参照をタスク データとして渡す - タスクの実行時に同じ値
今日は、個人プロジェクト用のタスク マネージャーを作ろうとしています。
私は次の方法を書きました:
そして、私は次のサンプルでそれを呼び出します:
と
問題は、デバッグ モード (Visual Studio 2013 を使用) で、次の結果が得られることです。
と
2番目のテストには大きな問題がありますよね?:-)
そして、リリースモードでテストすると:
こんにちは 3 こんにちは 3 こんにちは 3
と
こんにちは 2 こんにちは 2 こんにちは 2
良い。奇妙だと思います。ウェブで検索しましたが、何も見つかりませんでした。「make_task」または「create_task」(PPL)の外で関数を実行すると、すべての結果が良好であることがわかりました。
誰でも私を助ける考えがありますか?
前もって感謝します
c++ - ppl.h で最大値を見つける
C++ の ppl ライブラリにConcurrency::max(vec)
、vec が数値のベクトルであるようなことを実行できる単純な関数はありますか? 私は自分で書くことができますが、自分の仕事を節約できることを望んでいました.
編集:申し訳ありませんが、おそらく十分に明確ではありませんでした。並列化を利用するには max 関数が必要です。
c++11 - PPL カサブランカでの http_client リクエストの並列実行?
背景: wxWidgets wxListView
を使用して顧客の住所を表示する単純な C++11 アプリケーションがあります。目標は、サービスを実装する Web サービスを介して住所 (ジオコーディング) から GPS 座標を取得することです。PPL Casablanca 経由で単一のアドレスの Web サービス応答を取得できます (何らかの形で、改善される予定です) 。以前の質問のコードを参照してください。
質問: PPL カサブランカで複数の非同期リクエストを並行して開始することは理にかなっていますか? 複数のプロセッサ コアを使用すると、結果の取得が高速化されますか? (Web サービスは、おそらく多くの要求を並行して処理するように構築されています。) PPL カサブランカを使用してどのように記述できますか?
私は C++ が得意ですが、ラムダを含む C++11 の機能を学んでいます。私にとって最大の違いは、アプローチ (継続、非同期タスクなど) と、それを正しく効率的に使用する方法です。
c++ - 結果から concurrency::task を作成するにはどうすればよいですか?
与えられた結果からすでに完了している新しいタスクを作成したい。私の現在の回避策は次のとおりです。
もっと良いものはありますか?
問題は次のコードにあります。
ご覧のとおり、私の関数は非同期で、別の非同期関数に依存しています。ただし、非同期タスクが既に完了している場合など、アプリを終了できる場合があります。その場合、指定された結果を返す継続可能なタスクを返す必要があります。