在C#线程中,怎样降低CPU的使用率

Gaohuming 2005-12-09 09:59:36
比如说,在程序中有一个线程始终在监视数据库中数据的变化,当有新的数据写入数据库时,这个线程立即通知我有新的数据写入数据库。我在这个线程中使用了while(true){}的死循环来监视数据库中数据的变化,这样做CPU的使用率就是100%。怎样做,在没有新的数据写入数据库之前,该线程不占用CPU的使用率?
...全文
671 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
jimh 2005-12-09
  • 打赏
  • 举报
回复
while(true)
{
//...监控代码
Thread.Sleep(1000); //暂停一秒
}
tl0 2005-12-09
  • 打赏
  • 举报
回复
自己写个事件,然后订阅。在事件中使用ManualResetEvent来控制线程的运行状态。
private ManualResetEvent mre = new ManualResetEvent(false);
在主线程中
mre.Reset();
监测线程
mre.WaitOne();
事件线程
sendDone.Set();
JzeroBiao 2005-12-09
  • 打赏
  • 举报
回复
加个Thread.Sleep(0);

110,502

社区成员

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

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

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