問題タブ [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.

0 投票する
1 に答える
851 参照

c++ - WinRT のタスク連結、なぜ task::wait を使用できないのですか?

私の現在のプロジェクトでは、最近の問題があり、それを理解するのに苦労しています:

これは正常に機能し、期待される結果が得られます。しかし、私がそれを

concurrency::create_task最終的に、最後の-callに無効なパラメーターが渡されたというエラーが表示されます。

ここで実際に何が起こっているのですか?concurrency::task::thenとを混在させることはできませんconcurrency::task::waitか? concurrency::task::wait代わりにを使用する場合と同様のタスク チェーンを作成していると思いますconcurrency::task::then
ありがとうございました

0 投票する
0 に答える
948 参照

visual-studio-2010 - Concurrency::concurrent_queue を std::unique_ptr と共に使用する

Visual Studio 2010 の Concurrency ライブラリを使用して、スレッド間でアクションを渡したいと考えています。私は自分のクラスを持っており、SimpleActionそれへのポインタはConcurrency::concurrent_queue.

この定義と「消費」ロジックを使用すると、次のように機能します。

ただし、これを std::unique_ptr に変更すると、次のようになります。

コンパイラは次のエラー メッセージを表示します。

コンパイラは、concurrent_queue でのこの構成を好まないようです。

これは論理的に思えます (std::unique_ptr をコピーする必要はありません (代わりに移動する必要があります)。

質問:

  • これは、Visual Studio 2010 の同時実行/PPL ライブラリの既知の問題/制限/機能ですか?
  • この問題は Visual Studio 2012 で解決されていますか?
  • それとも私は何か間違ったことをしていますか?

ありがとう、パトリック

0 投票する
1 に答える
125 参照

.net - ドットネットでデッドロックのこの状況を処理する方法

たとえば、映画の座席予約の申し込みをしているとします。シナリオは、3 つの異なる要求がまったく同時にシステムに送信されることです。ミリ秒単位の違いもありません...リクエストを処理する方法は?クリティカル セクションを定義する方法と、使用する必要がある戦略。すべてのリクエストはまったく同じタイミングであるため、どのユーザーが最初に処理するかを優先する方法。

0 投票する
1 に答える
1579 参照

c++ - ConcRT 同期構造と標準ライブラリ

アプリケーションが Windows をターゲットにしており、その一部で既にコンカレンシー ランタイムを使用している場合。ConcRT タスク以外のconcurrency:critical_section標準ライブラリ実装 ( ) よりもConcRT 同期構造 ( ) を使用する利点/欠点はありますか? std::mutex(例: WinAPI 非同期コールバックの同期、または dll のエクスポートされた関数間のデータ アクセスの管理)

MSDN のドキュメントで<mutex>は、ConcRT に基づいていると記載されていますが、内部でミューテックスが critical_section を使用しているため、すべての状況で速度が低下し、移植性にのみ利点があるということですか?
または、逆に、critical_section は ConcRT スケジューラで使用するために特別に設計されており、OS スレッドで使用すると非常にやり過ぎですか?

PS この質問は、コンカレンシー ランタイムのすべての同期構造 (critical_section、reader_writer_lock & event) に関するものです。また、WinAPI の、、およびその他
を除外し、それらが最速かつ最軽量のソリューションであると想定しました (ただし、最も美しいわけではありません)。CRITICAL_SECTIONMUTEXSRW

0 投票する
0 に答える
86 参照

c++ - concurrency::task<_ty> 代入演算子はスレッドセーフですか?

上記のコードを使用してストランドを作成しようとしています。このコードでは、複数のスレッドが post を呼び出して、いくつかのタスク (関数/ラムダ) の順次処理を確実に行うことができます。post() での割り当てはスレッドセーフですか?

0 投票する
0 に答える
203 参照

c++ - `when_all` の複数のサブタスクがキャッチされない例外をスローした場合、プロセスの終了を防ぐことはできますか?

コンカレンシー ランタイムは、タスクによってスローされた例外を処理できず、"すばやく失敗する" ことを検出します。つまり、プロセスを終了します。に与えられた複数のサブタスクwhen_allが例外をスローする場合があります。理想的には、これらの例外がタスク ツリーをキャンセルし、最上位の get または wait で発生する単一の例外に集約されることを望みます。代わりに、私のプロセスは私の下で終了します。問題を示すおもちゃの例を次に示します。

この例では、「Process is still running」がコンソールに出力される前にプロセスが終了します。サブタスクの例外によりwait_all、他のサブタスクが終了/キャンセルされるのを待たずにすぐに継続が呼び出され、他のサブタスクによって発生した例外を処理できず、プロセスが終了するようです。これは非常に望ましくないようです。回避策はありますか? これはバグですか?何か不足していますか?

0 投票する
1 に答える
2052 参照

java - 「実行単位」とはどういう意味ですか?

ウィキペディアでは、実行単位を次のように定義しています。

「コンピューター工学では、実行ユニット (機能ユニットとも呼ばれる) は、コンピューター プログラムによって要求される操作と計算を実行する CPU の一部です。」

  1. さて、それはプログラムの操作を実行する論理的または概念的なものですか? それとも、プログラムによって要求されたタスクを実行する CPU の物理的 (ハードウェア) 構造ですか (たとえば、コンピューターのシャットダウン、色の変更など)?

  2. そして、「並行プログラミングには、プロセスとスレッドという2つの実行単位があります」と読んだことがあります。

さて、私が頭に浮かんだ概念は、実行の単位は、関連するクラスのパッケージと、システムのメモリやその他のリソースなど、それらによって使用されるシステム リソースであるとしましょう。

どこまで正しいか教えてください。

注: 言語 (つまり、使用する専門用語や専門用語) は、初心者が理解できるように簡潔にしてください。

前もって感謝します。

0 投票する
1 に答える
2567 参照

c++ - concurrency::task デストラクタにより、有効なユースケースで呼び出しが中止される

ユースケースを処理するために私が使用するアプローチが無効かどうか教えてください。もしそうなら、正しい処理方法は何ですか:

そのため、コードは 2 つのジョブを並行して実行し、結果を処理しようとします。ジョブの 1 つが例外をスローした場合、call は例外task::getを再スローします。この問題は、両方のタスクが例外をスローした場合に発生します。この場合、 の最初の呼び出しでtask::getスタックの巻き戻しが発生するため、2 番目のデストラクタtaskが呼び出され、スタックの巻き戻し中に別の例外が再スローされ、'abort' が呼び出されます。

このアプローチは、問題に直面するまでは完全に有効に思えました。

0 投票する
1 に答える
408 参照

c++ - Concurrency::critical_section ビルド エラー: プライベート メンバーにアクセスできません

以下のコード (vs2013) ブロックをビルドできず、「エラー C2248: 'Concurrency::critical_section::critical_section' : cannot access private member defined in class 'Concurrency::critical_section'」というエラーが表示される

なぜこれが起こっているのか、誰でも説明できますか?ありがとう