一般来说,一个线程中没有使线程空闲的代码(如WAITFOR,SUSPEND等),OS会把多余的时间片都分给它,因为闲着也是闲着,只要有线程或进程需要,OS一定会尽量分配给它CPU时间的。这样占用100%也就是正常的了。
所以要看你的线程要干什么。如果只是检测状态,有几种方式:
一个是通过定时器进行定时检测,
如果要实时性好,则完全可以通过编写驱动将状态转换事件变成一个EVENT,通过EVENT来唤醒线程。
这才是充分利用CPU的做法。
以下是广告时间^_^
推荐偶这篇文章:
http://www.csdn.net/develop/Read_Article.asp?Id=22466