C# でプログラムに遅延を追加する
この投稿では、C# でプログラムに遅延を追加する方法について説明します。
1.使用する Thread.Sleep()
方法
C# では、 Thread.Sleep() メソッドは通常、指定された時間、現在のスレッドの実行を中断するために使用されます。次のコード例は、使用方法を示しています Thread.Sleep
コンソール アプリケーションを 2 秒間スリープさせます。
1 2 3 4 5 6 7 8 9 10 11 12 |
using System; using System.Threading; public class Example { public static void Main() { Console.WriteLine("Sleeping for 2 seconds..."); Thread.Sleep(2000); Console.WriteLine("2 seconds elapsed"); } } |
ご了承ください Thread.Sleep
現在のスレッドを完全にロックし、それ以上他のイベントを処理できないようにします。したがって、シングルスレッド アプリケーション (コンソール アプリケーションなど) 内で使用する場合、 Thread.Sleep
タスクを遅らせるだけでなく、アプリケーション全体をフリーズします。
2.使用する Task.Delay()
方法
より良い代替手段は、 Task.Delay() メソッド、から System.Threading.Tasks
の非同期代替である名前空間 Thread.Sleep
.現在のスレッドが他のイベントを処理するのをブロックしない、遅延時間の後に完了するタスクを作成します。次の例で説明します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
using System; using System.Threading.Tasks; public class Example { public static Task timer = Task.Run(async delegate { await Task.Delay(2000); }); public static void Main() { Console.WriteLine("Sleeping for 2 seconds..."); timer.Wait(); Console.WriteLine("2 seconds elapsed"); } } |
C# でプログラムに遅延を追加するのはこれだけです。
こちらも参照: