求一延时方法 不占用cpu且不挂起.
不要求是否精确,只是达到延时即可,因本人调试过程中,用到Thread.sleep()和while循环来做的时候都不是很理想.
sleep ,挂起,且占cpu
while,可以做到不挂起,但占cpu严重
求一个函数,不占用cpu且不挂起的延时函数!
不要求是否精确,只是达到延时即可,因本人调试过程中,用到Thread.sleep()和while循环来做的时候都不是很理想.
sleep ,挂起,且占cpu
while,可以做到不挂起,但占cpu严重
求一个函数,不占用cpu且不挂起的延时函数!
解决方案 »
- winform 动态生成的 DataGridView 添加行 如何有默认值?
- 怎么取Request.QueryString["id"]的值(客户端提交)?
- 接口应用问题
- 如何在Chrome流览器下获取其IHTMLDocument2对象
- 怎么查询模糊XML里面的数据?
- 请问c#做的activex控件怎么能自动更新呢(B/S系统)
- C# 如何获取word、浏览器、pdf等的选中文本?
- 别的CS文件中的函数怎么调用?
- 【急】关于所有listbox调用一个方法,对选中的值进行数据绑定
- GDI问题 已知直线上一点的坐标,改点作为垂线段的断点,在垂线段的长度已知的情况下,如何求垂线段的另一个点坐标
- 100分求旋转矩阵公式算法!!!
- 救命的问题,三天没搞出来了。请大家帮帮忙。
{
int start = Environment.TickCount;
while (Environment.TickCount - start < ms)
{
System.Threading.Thread.Sleep(15);
Application.DoEvents();
}
}
换个思维来做才行
/// <summary>
/// 延时函数
/// </summary>
/// <param name="mm">毫秒</param>
private void Delay(int mm)
{
//mainThread.Join(ms);
DateTime current = DateTime.Now; while (current.AddMilliseconds(mm) > DateTime.Now)
{
Application.DoEvents();
}
return;
}
所以想找到一个不用sleep和上面的循环的函数,也一样可以达到延时的效果,仅仅是延时,而不是中断!