当前位置: 技术问答>java相关
wait为什么总是抛出这个异常?
来源: 互联网 发布时间:2015-02-23
本文导语: 如何解决?让程序延迟? try{wait(5); out.print("success");} catch(Exception ex){out.println("wrong:"+ex);} --------------------------------------------------------------- 顺便问一下,如果一个对象为多个用户共享(eg. application),那么当这些用户同...
如何解决?让程序延迟?
try{wait(5);
out.print("success");}
catch(Exception ex){out.println("wrong:"+ex);}
---------------------------------------------------------------
顺便问一下,如果一个对象为多个用户共享(eg. application),那么当这些用户同时执行此单个实例的一个函数时,会否有冲突?如果有,那么我加锁之后,怎样让暂时无法运行的进程等待呢?我尝试上面的方法,总是抛出
--
wrong:java.lang.IllegalMonitorStateException这个异常。
大家帮我!
try{wait(5);
out.print("success");}
catch(Exception ex){out.println("wrong:"+ex);}
---------------------------------------------------------------
顺便问一下,如果一个对象为多个用户共享(eg. application),那么当这些用户同时执行此单个实例的一个函数时,会否有冲突?如果有,那么我加锁之后,怎样让暂时无法运行的进程等待呢?我尝试上面的方法,总是抛出
--
wrong:java.lang.IllegalMonitorStateException这个异常。
大家帮我!
|
如果你只是想暂停就不要用wait,只要用Thread.sleep(...)这个静态方法就可以了
如果你想要wait()的话,必须先取得这个对象的lock
sychronize(this) {
this.wait(1000);
}
如果你想要wait()的话,必须先取得这个对象的lock
sychronize(this) {
this.wait(1000);
}
|
看看有关线程部分,那里面讲得比较清楚,你的问题属于线程同步
|
"一个对象为多个用户共享" "用户同时执行此单个实例的一个函数时" ???
没说清楚
那个类的方法用sychronized修饰了吗?
没说清楚
那个类的方法用sychronized修饰了吗?
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。