C#延时函数的使用说明
更新时间:2022年04月20日 09:43:31 作者:海歌也疯狂
这篇文章主要介绍了C#延时函数的使用说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
C#延时函数使用
在线程中如果需要延时,尽量不要使用Sleep()函数,这样会导致时间片切到别的线程中。
使用如下函数:
//Delay function public static void Delay(int milliSecond) { int start = Environment.TickCount; while (Math.Abs(Environment.TickCount - start) < milliSecond) { Application.DoEvents(); } }
或者:
//Delay us Create a waitable timer [DllImport("kernel32.dll")] public static extern int CreateWaitableTimer(int lpTimerAttributes, bool bManualReset, int lpTimerName); public static void UsDelay(int us) { long duetime = -10 * us; int hWaitTimer = CreateWaitableTimer(NULL, true, NULL); SetWaitableTimer(hWaitTimer, ref duetime, 0, NULL, NULL, false); while (MsgWaitForMultipleObjects(1, ref hWaitTimer, false, Timeout.Infinite, QS_TIMER)) ; CloseHandle(hWaitTimer); }
C#3个延时函数
public static void Delays(int DelayTime = 100) { int time = Environment.TickCount; while (true) { if (Environment.TickCount - time >= DelayTime) { break; } Application.DoEvents(); Thread.Sleep(10); } } public static void Delay1(int milliSecond) { int start = Environment.TickCount; while (Math.Abs(Environment.TickCount - start) < milliSecond) { Application.DoEvents(); } } //延时程序 秒 public static bool Delay2(int delayTime) { DateTime now = DateTime.Now; int s; do { TimeSpan spand = DateTime.Now - now; s = spand.Seconds; Application.DoEvents(); } while (s < delayTime); return true; }
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
相关文章
Unity的IPostBuildPlayerScriptDLLs实用案例深入解析
这篇文章主要为大家介绍了Unity的IPostBuildPlayerScriptDLLs实用案例深入解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-05-05C#将DataGridView中的数据保存到CSV和Excel中
这篇文章介绍了C#将DataGridView中的数据保存到CSV和Excel中的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2022-04-04
最新评论