Fixes test cases for master-worker-pattern

This commit is contained in:
Anurag Agarwal
2020-08-03 18:50:45 +00:00
parent 054b1eaac6
commit ca7192889d

View File

@ -75,7 +75,7 @@ public abstract class Master {
}
private void divideWork(Input<?> input) {
List<? extends Input<?>> dividedInput = input.divideData(numOfWorkers);
var dividedInput = input.divideData(numOfWorkers);
if (dividedInput != null) {
this.expectedNumResults = dividedInput.size();
for (var i = 0; i < this.expectedNumResults; i++) {
@ -83,6 +83,13 @@ public abstract class Master {
this.workers.get(i).setReceivedData(this, dividedInput.get(i));
this.workers.get(i).start();
}
for (var i = 0; i < this.expectedNumResults; i++) {
try {
this.workers.get(i).join();
} catch (InterruptedException e) {
System.err.println("Error while executing thread");
}
}
}
}