当一个线程改变资源时,如何通知其他线程重新获取此资源? 所有线程在一开始的时候访问下这个资源以后就不访问了,我需要达到的效果是:资源改变则通知所有线程并且让他们从新访问,不改变就不通知volatile,synchronized不能起作用吧。我想另外建立个线程监听这个资源,并且执行通知其他线程。可以不呢。刚学java 不久,高手们指点下。。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 把这个资源放在一个同步方法里,发生改变的时间,notifyAll(); java.util.Observer java.util.Observable 可以帮助你解决问题 有线程在一开始的时候访问下这个资源以后就不访问了,我需要达到的效果是:资源改变则通知所有线程并且让他们从新访问,不改变就不通知volatile,synchronized不能起作用吧。--------------------------------------------------------------------------------如果其他线程wait()在这个资源那里,就该资源notifyAll();java.util.Observer java.util.Observable 可以帮助你解决问题-------------------------------------------------------------------------楼上说的是JDK中对观察者模式的实现,如果是想通过注册通知的话,建议楼主去看看设计模式中的观察者模式. e3002所说的标志位?不太明白怎么实现我的需求。。我的问题和我的需求提的有偏差,但是也差不多“如果其他线程wait()在这个资源那里,就该资源notifyAll();”我现在用的这个办法解决。各位给的资料下去查看,谢谢大家 awt与swing小小疑问 线程中run方法会被同步吗? 关于方法重写,有一些疑惑 关于面向对象的一个小问题~ 关于计算器的问题 求救关于ResultSet的问题,急!解决立即结贴! 请教:如何让一个JTextField即不可以编辑,又可以在其中自由移动光标? 在JAVA中可否对硬件编程?如何驱动摄像头进行编程? 新学JAVA做了个 QQ ,请大侠测试,给出建议或buf或修改意见的给源码,--UP有分 关于try-catch影响性能 个位高手看下点给改啊 又来麻烦大家了,我今天突然就不能在命令提示符哪儿 编译 和运行 JAVA程序
volatile,synchronized不能起作用吧。
--------------------------------------------------------------------------------
如果其他线程wait()在这个资源那里,就该资源notifyAll();
java.util.Observer java.util.Observable 可以帮助你解决问题
-------------------------------------------------------------------------
楼上说的是JDK中对观察者模式的实现,如果是想通过注册通知的话,建议楼主去看看设计模式中的观察者模式.
“如果其他线程wait()在这个资源那里,就该资源notifyAll();”
我现在用的这个办法解决。各位给的资料下去查看,谢谢大家