問題タブ [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.
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
です。これは、私はまだすべてを手動で実装する必要があるため、役に立ちません。
c# - タスクコンストラクターのキャンセルトークン:なぜですか?
特定のSystem.Threading.Tasks.Task
コンストラクターはCancellationToken
、パラメーターとしてを取ります。
これについて私を困惑させるのは、メソッド本体の内部から、渡されたトークンを実際に取得する方法がないことです(たとえば、のようなものはありませんTask.CurrentTask.CancellationToken
)。トークンは、状態オブジェクトなどの他のメカニズムを介して提供されるか、ラムダにキャプチャされる必要があります。
では、コンストラクターでキャンセルトークンを提供することは、どのような目的に役立ちますか?
.net - CancellationToken.CanBeCanceled を false にできるのはいつですか?
のドキュメントにCancellationToken.CanBeCanceled
は、それが何をするかが説明されていますが、いつ false になる可能性があるかについては言及されていません。したがって、いつこのプロパティに注意を払うべきかは完全にはわかりません。
どのような状況で偽である可能性があり、いつそれを見る必要がありますか?
c# - CancellationTokenBlockingCollectionから抜け出さないキャンセル
私はそのようなキャンセルトークンを持っています
私はそのようなブロッキングコレクションを持っています
電話すると
テイクは本来のように続行されません。ポーリングでTryTakeを使用すると、トークンはキャンセル済みとして設定されていることを示します。
.net-4.0 - parallel.invokeキャンセルトークン
Parallel.Invokeを使用する場合、cancellationTokenを含むParallelOptionsを渡すことができます。呼び出しでそのトークンを使用して、終了する必要があるかどうかを判断することは可能ですか?アクション内からCancellationTokenSourceへの参照を使用する必要がありますか?
更新:キャンセルは遅すぎました。呼び出されたメソッドの外でそれを行っていました。
注:キャンセルがすぐに発生した場合、Parallel.Invokeはスローされますが、それ以外の場合、呼び出されたメソッドは必ず終了します。
c# - c# ロックして CancellationToken をリッスンする
重要なセクションを保護するために、ロックまたは同様の同期を使用したいと考えています。同時に、CancellationToken をリッスンしたいと考えています。
現在、このようなミューテックスを使用していますが、ミューテックスのパフォーマンスはそれほど高くありません。ミューテックスの代わりに、他の同期クラス (新しい .Net 4.0 を含む) を使用できますか?
c# - CancellationToken を適切にリセットするには?
Async CTP
私は今朝 で遊んでいて、button
とを使った簡単なプログラムを持っていlabel
ます。をクリックするbutton
と の更新が始まりlabel
、 を停止するbutton
と への書き込みが停止しlabel
ます。CancellationTokenSource
ただし、プロセスを再開できるようにリセットする方法がわかりません。
私のコード:
c# - 現在のレイアウトでタスクとキャンセルトークンで Dispose() を呼び出す
私は次のコードを持っており、タスクとキャンセルトークンで明示的に破棄を呼び出すことができるかどうかを調べようとしています。呼び出すために奇妙なことをしなければならない場合を除き、タスクで dispose() を呼び出すことを Microsoft が推奨していることを読みました。おそらくこれを行うためのより良い方法があることにも感謝しますが、現在のセットアップで可能かどうか知りたいです.
最初の方法では、GUI スレッドが戻り、UI の更新を続行できます。2 番目のメソッドは、ストアド プロシージャのリストを取得します。
御時間ありがとうございます。
c# - CancellationToken をタスク クラス コンストラクターに渡すと、どのような用途がありますか?
長時間実行されるプロセスをシミュレートする新しいタスクを作成するサンプル コードを次に示します。そのようなタスクには何もなく、純粋にキャンセル機能に焦点を当てています. キャンセルトークンを使用してタスクをキャンセルしていますが、コードは正常に機能します。
しかし、私が理解できなかったのは、コンストラクターCTS.Token
に渡されるトークン パラメーター ( ) です。Task
トークンをコンストラクターに渡さなくても実際にタスクをキャンセルできる場合、パラメーターを渡すことの実際の使用法は何ですか。
以下は、トークン パラメーターなしで動作するわずかに変更されたバージョンです。