問題タブ [cancellation-token]

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 投票する
2 に答える
23840 参照

c# - TaskFactory.StartNew() の「cancellationToken」は何に使用されますか?

http://msdn.microsoft.com/en-us/library/dd988458.aspx

更新日:

それでは、この記事について説明しましょう: http://msdn.microsoft.com/en-us/library/dd997396.aspx

私はそのコードを少し変更しました:

UPD :まあ、これは変更のみtask.IsCanceledです。これは、私はまだすべてを手動で実装する必要があるため、役に立ちません。

0 投票する
4 に答える
56665 参照

c# - タスクコンストラクターのキャンセルトークン:なぜですか?

特定のSystem.Threading.Tasks.TaskコンストラクターはCancellationToken、パラメーターとしてを取ります。

これについて私を困惑させるのは、メソッド本体の内部から、渡されたトークンを実際に取得する方法がないことです(たとえば、のようなものはありませんTask.CurrentTask.CancellationToken)。トークンは、状態オブジェクトなどの他のメカニズムを介して提供されるか、ラムダにキャプチャされる必要があります。

では、コンストラクターでキャンセルトークンを提供することは、どのような目的に役立ちますか?

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

.net - CancellationToken.CanBeCanceled を false にできるのはいつですか?

のドキュメントにCancellationToken.CanBeCanceledは、それが何をするかが説明されていますが、いつ false になる可能性があるかについては言及されていません。したがって、いつこのプロパティに注意を払うべきかは完全にはわかりません。

どのような状況で偽である可能性があり、いつそれを見る必要がありますか?

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

.net - CancellationToken.None で登録しても安全ですか?

なぜ以下は合法なのですか?

たとえば、Registerここで例外をスローしないのはなぜですか? 上記がNOPになるからでしょうか?

背景:この質問をする理由は、 を受け入れるメソッドを、登録が関係する場合にCancellationToken防御的にコード化する必要があるかどうかを理解するためです。CancellationToken.None

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

c# - CancellationTokenBlockingCollectionから抜け出さないキャンセル

私はそのようなキャンセルトークンを持っています

私はそのようなブロッキングコレクションを持っています

電話すると

テイクは本来のように続行されません。ポーリングでTryTakeを使用すると、トークンはキャンセル済みとして設定されていることを示します。

0 投票する
2 に答える
2907 参照

.net-4.0 - parallel.invokeキャンセルトークン

Parallel.Invokeを使用する場合、cancellationTokenを含むParallelOptionsを渡すことができます。呼び出しでそのトークンを使用して、終了する必要があるかどうかを判断することは可能ですか?アクション内からCancellationTokenSourceへの参照を使用する必要がありますか?

更新:キャンセルは遅すぎました。呼び出されたメソッドの外でそれを行っていました。

注:キャンセルがすぐに発生した場合、Parallel.Invokeはスローされますが、それ以外の場合、呼び出されたメソッドは必ず終了します。

0 投票する
2 に答える
8160 参照

c# - c# ロックして CancellationToken をリッスンする

重要なセクションを保護するために、ロックまたは同様の同期を使用したいと考えています。同時に、CancellationToken をリッスンしたいと考えています。

現在、このようなミューテックスを使用していますが、ミューテックスのパフォーマンスはそれほど高くありません。ミューテックスの代わりに、他の同期クラス (新しい .Net 4.0 を含む) を使用できますか?

0 投票する
3 に答える
36313 参照

c# - CancellationToken を適切にリセットするには?

Async CTP私は今朝 で遊んでいて、buttonとを使った簡単なプログラムを持っていlabelます。をクリックするbuttonと の更新が始まりlabel、 を停止するbuttonと への書き込みが停止しlabelます。CancellationTokenSourceただし、プロセスを再開できるようにリセットする方法がわかりません。

私のコード:

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

c# - 現在のレイアウトでタスクとキャンセルトークンで Dispose() を呼び出す

私は次のコードを持っており、タスクとキャンセルトークンで明示的に破棄を呼び出すことができるかどうかを調べようとしています。呼び出すために奇妙なことをしなければならない場合を除き、タスクで dispose() を呼び出すことを Microsoft が推奨していることを読みました。おそらくこれを行うためのより良い方法があることにも感謝しますが、現在のセットアップで可能かどうか知りたいです.

最初の方法では、GUI スレッドが戻り、UI の更新を続行できます。2 番目のメソッドは、ストアド プロシージャのリストを取得します。

御時間ありがとうございます。

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

c# - CancellationToken をタスク クラス コンストラクターに渡すと、どのような用途がありますか?

長時間実行されるプロセスをシミュレートする新しいタスクを作成するサンプル コードを次に示します。そのようなタスクには何もなく、純粋にキャンセル機能に焦点を当てています. キャンセルトークンを使用してタスクをキャンセルしていますが、コードは正常に機能します。

しかし、私が理解できなかったのは、コンストラクターCTS.Tokenに渡されるトークン パラメーター ( ) です。Taskトークンをコンストラクターに渡さなくても実際にタスクをキャンセルできる場合、パラメーターを渡すことの実際の使用法は何ですか。

以下は、トークン パラメーターなしで動作するわずかに変更されたバージョンです。