csharp Task.WhenAllを利用している场合のタイムアウト处理の书き方(Task.WhenAll,Task.WhenAny,Task.Delay)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了csharp Task.WhenAllを利用している场合のタイムアウト处理の书き方(Task.WhenAll,Task.WhenAny,Task.Delay)相关的知识,希望对你有一定的参考价值。


var t1Result = 0;
var t2Result = 0;

var t1 = Task.Run(() => 
{
    Thread.Sleep(TimeSpan.FromSeconds(1));
    Interlocked.Increment(ref t1Result);
});

var t2 = Task.Run(() => 
{
    Thread.Sleep(TimeSpan.FromSeconds(3));
    Interlocked.Increment(ref t2Result);
});

var tasks = Task.WhenAll(t1, t2);
var timeout = Task.Delay(TimeSpan.FromSeconds(2));

// 処理が完了するか、タイムアウトするまで待つ
await Task.WhenAny(tasks, timeout);

if (t1Result == 1 && t2Result == 1)
{
    "処理完了".Dump();
}
else
{
    "タイムアウト".Dump();
}

以上是关于csharp Task.WhenAllを利用している场合のタイムアウト处理の书き方(Task.WhenAll,Task.WhenAny,Task.Delay)的主要内容,如果未能解决你的问题,请参考以下文章

sh 〜/ Dropbox / dotfilesを来源に指定しているdotfilesのsymlinkをGoogleDriveを来源として作成しなおす

php WordPress的のPを置换しているコアソース

text 161104リモーダルのように出て记事を顺々に出していく

csharp コードの秘诀は吉斯特に移行します。今まではEvernote的に全てまとめていたけれど,吉斯特だとコードのシンタックスハイライトが效いて便利なので,コード部分に关しては要点を使ってみたいと

swift 对于ループの中でや继续突破を使用しているのを,过滤に书き换える

php 【WordPress的】的Jetpackを有效化しているサイトをクローンしてテスト环境を作るときに的wp-config.php文件に记述すべき设定