浏览 1519 次
锁定老帖子 主题:生产消费问题编码
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-06-17
1、更新资源空闲状态,(需要定时的更新) 2、开始接受请求者使用资源请求。(在规定的小段时间内接受请求) 希望编码能做到以下效果 ... //执行1方法 ... //接受调用2方法的请求 ... //执行1 ... //接受调用2方法的请求 ... ... 呵呵,不知道说清楚没有,问题不是用timer去执行两个方法,而是只有到第2步时,才能让客户端来调用2方法。 已经考虑过用共享一个对象同步的方法,但是可能出现共同对象被第2步的方法请求长时间占用。不能保证1方法的定时执行。需要让1方法的执行优先级别高于2方法。 请大家看看有什么方法实现这段代码! 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-06-17
自己想了一个办法,大家看行不行
private static boolean block = false; //信号变量 public boolean startSchedule() { //方法1 while (true) { try { block = true; Thread.sleep(2000l); // update program free connection information programManager.updateFreeConn(); notifyAll(); block = false; // to sleep Thread.sleep(schuldeInterval); } catch (InterruptedException e) { .... } //方法2 public Message tryToPlay(String sessionId, String progId) { if (block) { try { this.wait(); } catch (InterruptedException e) { ..... |
|
返回顶楼 | |
发表时间:2008-06-17
楼上说了,用条件队列协调,你描述的不是很清楚,不过看情况就得用条件队列,可以传统的wait,notify,也可以使用更细粒度的jdk5的Condtion
|
|
返回顶楼 | |