当前位置: 技术问答>java相关
用while循环等待事件发生时是否可以释放系统资源
来源: 互联网 发布时间:2015-09-04
本文导语: 我用while写的时间等待,占CPU太厉害了。请问怎样才能用while循环等待事件发生时释放系统资源,十分感谢。 代码如下: while(!IsHappened) { //waiting } | Object waitLock = new Object(); while(!IsHappened) {...
我用while写的时间等待,占CPU太厉害了。请问怎样才能用while循环等待事件发生时释放系统资源,十分感谢。
代码如下:
while(!IsHappened)
{
//waiting
}
代码如下:
while(!IsHappened)
{
//waiting
}
|
Object waitLock = new Object();
while(!IsHappened)
{
synchronized(waitLock) {
try{
waitLock.wait();
}catch(Exception e ) {}
}
}
另外的线程在置IsHappened=true之后,调用waitLock.notify()唤醒
while(!IsHappened)
{
synchronized(waitLock) {
try{
waitLock.wait();
}catch(Exception e ) {}
}
}
另外的线程在置IsHappened=true之后,调用waitLock.notify()唤醒