Skip to content

Commit 89b2072

Browse files
npczwhzhangwenhe
and
zhangwenhe
authored
fix: use double check to fix concurrent problem (iluwatar#1909)
Co-authored-by: zhangwenhe <zhangwh@ehualu.com>
1 parent 0a7b524 commit 89b2072

File tree

1 file changed

+4
-2
lines changed
  • leader-followers/src/main/java/com/iluwatar/leaderfollowers

1 file changed

+4
-2
lines changed

leader-followers/src/main/java/com/iluwatar/leaderfollowers/Worker.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,9 +57,11 @@ public void run() {
5757
try {
5858
if (workCenter.getLeader() != null && !workCenter.getLeader().equals(this)) {
5959
synchronized (workCenter) {
60-
workCenter.wait();
60+
if (workCenter.getLeader() != null && !workCenter.getLeader().equals(this)) {
61+
workCenter.wait();
62+
continue;
63+
}
6164
}
62-
continue;
6365
}
6466
final Task task = taskSet.getTask();
6567
synchronized (workCenter) {

0 commit comments

Comments
 (0)