筆記一下時間延遲的方法
Timer 跟Thread 是分開計算的
Thread Sleep 是整個執行續都停下來 但timer不受影響
因為Timer 是獨立的額外的Thread做運算
using System;
using System.Threading; //thread要用
using System.Timers; // Timer要用
public class Program{
private static System.Timers.Timer aTimer; //宣告一個static Timer
public static void Main(String[] arg){
Console.WriteLine("延遲前時間" + DateTime.Now.ToString("yyyy/MM/dd hh:ss"));
aTimer = new System.Timers.Timer(500); //每0.5秒後執行一次
aTimer.Elapsed += new ElapsedEventHandler(RUN);//執行RUN這個事件
aTimer.Enabled = true; // 開始執行
Thread.Sleep(2000); //執行續休息兩秒
Console.WriteLine("Thread延遲" + DateTime.Now.ToString("yyyy/MM/dd hh:ss"));
}
public static void RUN(Object source, ElapsedEventArgs e){
aTimer.Enabled = false; //要改成false 不然會一直執行
Console.WriteLine("Timer延遲" + DateTime.Now.ToString("yyyy/MM/dd hh:ss"));
}
}
@copyright MRcodingRoom
觀看更多文章請點MRcoding筆記
觀看更多文章請點MRcoding筆記