我正在开发一个模拟杂货店结账的个人项目。我目前有一个计时器,每隔几秒左右创建一个新客户,并将它们添加到队列中。我需要另一个检查是否有开放的通道,如果是,则删除下一行并将其发送到结账。
理想情况下我已经拥有它,所以如果每个车道都在使用中,那么功能就会暂停,但是从一些研究来看,我似乎无法暂停计时器。所以我的问题是,什么是让函数暂停,等待开放通道然后恢复的最佳方法。我是否需要计时器或线程,或者我只是想过这个。
仅作为一些可视化代码的示例。
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
所以它穿过车道找到一条空旷的车道。如果没有任何东西打开,那么我希望它等到一个打开然后再次启动。
答案 0 :(得分:0)
使用多线程和try catch并在 catch(...){} 的主体中处理Lan流。 最初启动两个线程,一个等待一个服务,等待线程获得响应调用响应线程,等待线程必须在无限循环中。
...
while(true){
System.out.println("WAIT UNTIL OPEN LANE");
lan = getNewLane();
new Responsethread(lan).start();
}
...