ariyasacca

カテゴリ一覧

Biz | SF | Software | tDiary | Web | ゲーム | サバティカル | スポーツ | ミステリ | メタル | 健康 | 投資 | 携帯 | 時事ネタ | 死生観 | 資格 | 雑記
2004|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|

2009-11-06 (金) [長年日記]

[雑記]C#でsetTimeout的な非同期処理

非同期にしたい処理はBackgroundWorkerに任せるとして、ウェイト部分をどうすれば良いんだ? と思ってた。

public BackgroundWorker SetTimeout(Action fn, int time)
{
    BackgroundWorker worker = new BackgroundWorker();

    worker.DoWork += (sender, e) => 
    {
        Thread.Sleep(time);
    };

    worker.RunWorkerCompleted += (sender, e) => 
    {
        fn();
    };

    worker.RunWorkerAsync();

    return worker;
}

//1000ミリ秒のウェイト
var worker = SetTimeout(() => 
{
    MessageBox.Show("1000ミリ秒経過");
}, 1000);

参考

Thread.Sleep()で待てば良かったんですね。

勉強になりました!


最近のツッコミ

  1. ウルトラマン (2019-04-18(木)19:22)「声優代節約の為やぞ」
  2. ああああ (2019-03-28(木)15:19)「バージョンは好きにしていいのか。 」
  3. 雷悶 (2019-01-06(日)09:46)「時代はProっしょ~」

参号館  の中の  日記(ariyasacca)

トップ «前の日記(2009-11-05 (木)) 最新 次の日記(2009-11-09 (月))» 編集