java线程中的自定义事件
最近研究java中的Event和Listener机制
请问各位怎么能在一个线程中引发事件,并通知另一个线程中的类呢,谢谢:)
------解决方案--------------------int EVENT;(0事件没发生;1事件发生)
线程A(Listener)
run()
{
while(true)
{
if(EVENT==1)
{
处理
}
}
}
线程B(Event)
run()
{
while(true)
{
通过类似
EVENT =1;或 EVENT=0;
}
}
------解决方案--------------------MS只能做线程标记,当条件满足时再做
------解决方案--------------------PipedInputStream / PipedOutputStream
------解决方案--------------------象楼上的
设置标志或者数据
然后自己wait
notify
------解决方案--------------------一般来说,像楼上说的用boolean标签,作循环判断,加上wait和notify来实现。
建议LZ也可以去研究一下JAVA与模式中的对象行为模式,有一个模式叫观察者模式,比较难懂,有兴趣的话,你可以研究研究。。