mirror of
https://github.com/tiennm99/java-design-patterns.git
synced 2026-10-13 22:16:03 +00:00
Fixes test cases for master-worker-pattern
This commit is contained in:
1 file changed
+8
-1
+8
-1
@@ -75,7 +75,7 @@ public abstract class Master {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void divideWork(Input<?> input) {
|
private void divideWork(Input<?> input) {
|
||||||
List<? extends Input<?>> dividedInput = input.divideData(numOfWorkers);
|
var dividedInput = input.divideData(numOfWorkers);
|
||||||
if (dividedInput != null) {
|
if (dividedInput != null) {
|
||||||
this.expectedNumResults = dividedInput.size();
|
this.expectedNumResults = dividedInput.size();
|
||||||
for (var i = 0; i < this.expectedNumResults; i++) {
|
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).setReceivedData(this, dividedInput.get(i));
|
||||||
this.workers.get(i).start();
|
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");
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user