DoEvents与Sleep顺序的疑问

kxghost 2010-07-07 11:00:21
代码如下:如果在while不加Sleep 的话,电脑CPU使用率会非常高,
如果加上,会好很多,
现在的问题是 Sleep 函数是放在DoEvents 前面还是放在DoEvents后面好些?
public void Method1(Data data)
{
for(int i=0 ;i<3;i++)
{
if(满足条件)
{
break;
}
else
{
int tick = Environment.TickCount;
while(Environment.TickCount - tick < 5000)
{
System.Threading.Thread.Sleep(100); //减少tickCount次数
Application.DoEvents();

}
MethodA(data)
}
}
}


...全文
181 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
LovingAlison 2010-07-07
  • 打赏
  • 举报
回复

要是我 我会选择放后边
kxghost 2010-07-07
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wantalcs 的回复:]
都有Sleep了,何必再要那循环,不要循环,也就不必DoEvent了。
[/Quote]
不用DoEvnet,只用Sleep, 整个程式就假死掉了,也不能处理其他消息

还有什么好的方法么
wantalcs 2010-07-07
  • 打赏
  • 举报
回复
都有Sleep了,何必再要那循环,不要循环,也就不必DoEvent了。
ziliz854 2010-07-07
  • 打赏
  • 举报
回复
已经无关紧要了

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧