refactor: 加上线程已经取消的情况

This commit is contained in:
kyle
2023-02-01 19:27:57 +08:00
parent ffe9056600
commit e56521caf3

View File

@@ -14,6 +14,7 @@ import java.util.*;
import java.util.concurrent.*;
import java.util.concurrent.atomic.AtomicLong;
import java.util.concurrent.atomic.AtomicReference;
import java.util.function.Predicate;
import java.util.stream.Collectors;
/**
@@ -102,7 +103,8 @@ public class Async {
} catch (InterruptedException e) {
e.printStackTrace();
}
if (onceWork.getAllThreadSubmit().stream().allMatch(Future::isDone)) {
//完成或者取消就及时取消任务
if (onceWork.getAllThreadSubmit().stream().allMatch(future -> future.isDone()|| future.isCancelled())) {
if (!onceWork.isCancelled() && !onceWork.isWaitingCancel()) {
onceWork.pleaseCancel();
}