收录日期:2020/04/07 10:37:06 时间:2016/05/12 05:27:22 标签:Java SE
我用while写的时间等待,占CPU太厉害了。请问怎样才能用while循环等待事件发生时释放系统资源,十分感谢。

代码如下:
while(!IsHappened)
{
//waiting
}
我用jbuilder7开发
Object waitLock = new Object();
while(!IsHappened)

  synchronized(waitLock) {
    try{
       waitLock.wait();
    }catch(Exception e ) {} 
  }
}  


另外的线程在置IsHappened=true之后,调用waitLock.notify()唤醒
楼上正解
java的线程易用好用
GZ
支持多线程是java的特征之一。
不要用这种while循环等待的方式,可以用多线程来解决这个问题。当一个线程需要等待时,就用wait()方法使它进入sleep状态。当另一个线程中的事件被触发后,再用notify()方法来唤醒它。
你可以去看看书中关于线程的介绍。

tomcat+sqlserver2000数据库连接池配置问题!急! 局域网上不了网问题。 $$$$$$技术讨论::::PB能否实现电话拨号输入数据功能 一段顺序表的C代码,能编译运行,帮忙看看什么地方有问题。 MFC做编译器有关的小问题,请高手指教? 大家来看看,我们学校论坛校园建设的板块的帖子! 如何给realone加密? 数据的添加 用了3天时间终于把linux装好了,心情特别好散分!!!!! 如何屏蔽掉网页中的右键!请高手帮忙解决一下! 如何用for each获取listBox中的所有数据 在java里面怎么实现象windows文件查找那样的功能? GetMem,StrPas是什么函数? 用什么工具(方法,编译器)将gtk+移植到window下???????? 奇怪!!同一目录下,有的JSP可以运行,有的却找不到,高手帮我分析下 大家好,我是新的------------>拌煮 关于程序制作安装盘时出现的问题,急切!!! 求救!!!!我中了传奇木马PWSteal.lemir.gen 感染了(或者是产生了)文件services.exe 菜鸟问:如何将C++从AIX移植到Linux 有对风声无组件上传类2.0很熟悉的高手吗?进来看看吧 请高手分析一下下面程序的运行结果?? 请问黑洞防火墙要多少钱呢? 关于Jbuilder的源代码编辑窗口右边有一长条竖线的问题!! VB报表动态打印? 请教:哪儿有波形图的源程序 关于Jbuilder的源代码编辑窗口右边有一长条竖线的问题!! help!Crecordset的使用问题!请各位大虾帮忙! 关于WSARecv() ? 请求帮助 制作安装程序中的一个小问题