请教高手:如何实现异步程序?
来源: 互联网 发布时间:2015-09-04
本文导语: 我是一个JAVA菜鸟,现想做一个程序包含三个线程A、B、C A:一个定时器,每隔一定时间激活B、C B、C:执行一次后自动将本身挂起,等待A的激活(notify) 我大略试验了一下,由于刚开始用JAVA非常不顺利:...
我是一个JAVA菜鸟,现想做一个程序包含三个线程A、B、C
A:一个定时器,每隔一定时间激活B、C
B、C:执行一次后自动将本身挂起,等待A的激活(notify)
我大略试验了一下,由于刚开始用JAVA非常不顺利:
1、为什么我在B、C中分别调用wait()方法时出现“current thread not owner”异常?而只在B或C其中一个调用却无异常?
2、notify()、notifyAll()方法应怎样使用?
谢谢!
A:一个定时器,每隔一定时间激活B、C
B、C:执行一次后自动将本身挂起,等待A的激活(notify)
我大略试验了一下,由于刚开始用JAVA非常不顺利:
1、为什么我在B、C中分别调用wait()方法时出现“current thread not owner”异常?而只在B或C其中一个调用却无异常?
2、notify()、notifyAll()方法应怎样使用?
谢谢!
|
第一个问题
wait()方法只能是使得“当前”线程wait()
无论你用B.wait()还是C.wait()
其实都是Thread.currentThread().wait()
wait()方法只能是使得“当前”线程wait()
无论你用B.wait()还是C.wait()
其实都是Thread.currentThread().wait()
|
看看java.util.Timer和java.util.TimerTask
应该可以满足你的要求
另外根据你的描述,只要线程a就够了,其他的完成就结束好了
应该可以满足你的要求
另外根据你的描述,只要线程a就够了,其他的完成就结束好了
|
把源码贴出来啊