ホーム
おまかせ表示
最近の更新
特別ページ
コミュニティ・ポータル
設定
MochiuWiki : SUSE, EC, PCBについて
免責事項
MochiuWiki : SUSE, EC, PCB
検索
利用者メニュー
ログイン
キャンセル処理を利用したタイムアウト(C Sharp)のソースを表示
←
キャンセル処理を利用したタイムアウト(C Sharp)
📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは
2026年9月に閉鎖
いたします。
移転先は
https://mochiu.net/index.php?title=キャンセル処理を利用したタイムアウト(C Sharp)
です。
新しい記事は移転先で追加しております。
(旧サイトでは記事を追加しておりません)
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます:
管理者
、new-group。
このページのソースの閲覧やコピーができます。
== 概要 == C#で一定時間内に処理が終わらなければ終了または中断する処理を記載する。<br> Taskを生成して、一定時間後にキャンセル処理を実行する。<br> Taskまたはキャンセル処理のいずれかが完了したとき、処理を終了することでタイムアウトが実現できる。<br><br> == サンプルコード == <syntaxhighlight lang="cpp"> public cancellationTask() { var task = Task.Run(() => { // 何か処理 }); var cancellationCompletionSource = new TaskCompletionSource<bool>(); using (var cts = new System.Threading.CancellationTokenSource(1000)) using (cts.Token.Register(() => cancellationCompletionSource.TrySetResult(true))) { if (task != await Task.WhenAny(task, cancellationCompletionSource.Task).ConfigureAwait(false)) { throw new OperationCanceledException(cts.Token); } } } </syntaxhighlight> <br><br> __FORCETOC__ [[カテゴリ:C_Sharp]]
キャンセル処理を利用したタイムアウト(C Sharp)
に戻る。