};
public int runTasks() {
- ArrayList<Runnable> todo = new ArrayList<>();
+ ArrayList<Runnable> todo = new ArrayList<>(tasks.size());
synchronized(tasks) {
todo.addAll(tasks);
tasks.clear();
public void changeState(ExperimentState state) {
this.state = state;
fireStateChanged(state);
+ synchronized (tasks) {
+ tasks.notifyAll();
+ }
}
public void addListener(DynamicExperimentThreadListener listener) {