ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

.Net 自定义定时器

2026/8/9 20:13:34 拓冰建站 浏览量
.Net 自定义定时器
    public class MyTimer{public MyTimer(TimerCallback callback, object? state, int dueTime, int period){Callback = callback;DueTime = dueTime;Period = period;}public TimerCallback Callback { get; set; }/// <summary>/// 开始循环计时/// </summary>public int DueTime { get; set; }/// <summary>/// 循环周期/// </summary>public int Period { get; set; }public CancellationTokenSource cst { get; set; }public void Start(){Task.Run(() => {// 设置线程优先级Thread.CurrentThread.Priority = ThreadPriority.Highest;cst = new CancellationTokenSource();while (!cst.IsCancellationRequested){Callback(null);Thread.Sleep(Period);}});}public void Stop(){if(cst != null)cst.Cancel();}}
MyTimer timer = new MyTimer(Handler,null,-1,250);
// 定时器启动
timer.Start();
// 定时器停止
timer.Stop();public void Handler(object sender)
{byte[] byteData;lock (Definition.P_Lock){Definition.P_Transmit("182756f4", byteData);//new byte[] { 0x69,0x19,0xC4,0x09,0x01,0x3C,0x64,0x50});
    }
}