日期:2014-05-20  浏览次数:20737 次

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与模式中的对象行为模式,有一个模式叫观察者模式,比较难懂,有兴趣的话,你可以研究研究。。