可以暂停和恢复的Java计时器?

时间:2015-09-01 01:55:46

标签: java timer simulation

我正在开发一个模拟杂货店结账的个人项目。我目前有一个计时器,每隔几秒左右创建一个新客户,并将它们添加到队列中。我需要另一个检查是否有开放的通道,如果是,则删除下一行并将其发送到结账。

理想情况下我已经拥有它,所以如果每个车道都在使用中,那么功能就会暂停,但是从一些研究来看,我似乎无法暂停计时器。所以我的问题是,什么是让函数暂停,等待开放通道然后恢复的最佳方法。我是否需要计时器或线程,或者我只是想过这个。

仅作为一些可视化代码的示例。

                for(int i =0; i < open.size(); i++){
                    if(marked[i] == false){
                        marked[i] = true;
                        System.out.println("Lane " + (i+1) + " is serving customer: " + temp.get());
                        break;
                    }
                }else{
                        \\WAIT UNTIL OPEN LANE

所以它穿过车道找到一条空旷的车道。如果没有任何东西打开,那么我希望它等到一个打开然后再次启动。

1 个答案:

答案 0 :(得分:0)

使用多线程和try catch并在 catch(...){} 的主体中处理Lan流。 最初启动两个线程,一个等待一个服务,等待线程获得响应调用响应线程,等待线程必须在无限循环中。

...

while(true){
System.out.println("WAIT UNTIL OPEN LANE");
lan = getNewLane();
new Responsethread(lan).start();
}

...