Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
C#でスレッドプールからタスクを実行するとき、 タスクを途中でキャンセルしたい場面も出てくるでしょう。 スレッドプールからタスクを実行するにはTaskFactory.StartNew()を用います。 TaskFactory.StartNew()メソッドによりタスクを実行するとき、 タスクを途中でキャンセルできるようにするには 第2引数にCancellationTokenを指定します。 これはCancellationTokenSource.Tokenフィールドとなります。 タスクにキャンセル要求を出すにはCancellationTokenSource.Cancel()メソッドを実行します。 これによりキャンセルフラグが立ちます。 タスク側では特定のタイミングでこのキャンセルフラグをチェックする必要があります。 キャンセルフラグはCancellationToken.IsCancellation
はじめに Task.Runの中で処理を止める Task.Runの外から処理を止める おわりに 参照 はじめに 前回に引き続き、async / await / Task ネタです。 非同期で処理している内容をストップするにはどうするの?というお話。 Task.Runの中で処理を止める Task.Run の中で、条件に応じて処理を途中で止める、というのは比較的簡単です。 private async void CallAsyncMethod() { var myTask = await GenerateTextAsync(); // GenerateTextAsync() の処理が完了したら実行される. Debug.Log(myTask); } private async Task< string> GenerateTextAsync() { return await Task.Run< str
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く