Cześć
Czy w prawidło sposób zrobiłem wykrycie zbioru zakończenia wszystkich zadań, nie chciałbym ubijać wątków.
///
create_arrays_pixel_from_image();
CopyOnWriteArrayList<Future<?>> list_tasks = new CopyOnWriteArrayList<>();
ScheduledThreadPoolExecutor scheduledThreadPoolExecutor = new ScheduledThreadPoolExecutor(5);
for(int i = 0; i < list_search_fish.size(); i++) {
int index = i;
list_tasks.add(scheduledThreadPoolExecutor.submit(new Runnable() {
@Override
public void run() {
check_inventory(index);
}
}));
}
while(true) {
for(Future<?> f : list_tasks) {
boolean is_zakonczyc = true;
if(!f.isDone()) {
is_zakonczyc = false;
}
if(is_zakonczyc) {
for(int i = 0; i < list_points.size(); i++) {
Point temp = list_points.get(i);
robot.mouseMove(temp.x, temp.y);
robot.mousePress(InputEvent.BUTTON3_DOWN_MASK);
try {
Thread.sleep(20);
} catch (InterruptedException exception) {
exception.printStackTrace();
}
robot.mouseRelease(InputEvent.BUTTON3_DOWN_MASK);
try {
Thread.sleep(1000);
} catch (InterruptedException exception) {
exception.printStackTrace();
}
}
return;
}
}
}