fix: use double check to fix concurrent problem (#1909)

Co-authored-by: zhangwenhe <zhangwh@ehualu.com>
This commit is contained in:
Zhang WH 2021-11-12 01:46:24 +08:00 committed by GitHub
parent 0a7b524bd1
commit 89b2072131
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -57,10 +57,12 @@ public class Worker implements Runnable {
try {
if (workCenter.getLeader() != null && !workCenter.getLeader().equals(this)) {
synchronized (workCenter) {
if (workCenter.getLeader() != null && !workCenter.getLeader().equals(this)) {
workCenter.wait();
}
continue;
}
}
}
final Task task = taskSet.getTask();
synchronized (workCenter) {
workCenter.removeWorker(this);