共计 701 个字符,预计需要花费 2 分钟才能阅读完成。
@Slf4j
public class EventDelayQueueService {private final List<TaskInfo> items = Collections.synchronizedList(new ArrayList<>());
private final int maxCapacity = 500;
private final ScheduledExecutorService scheduled = Executors.newScheduledThreadPool(1);;
private final MDCThreadPoolExecutor executor = Executors.newFixedThreadPool(5);;
private final AtomicInteger count = new AtomicInteger(0);
@Override
public void afterPropertiesSet() throws Exception {log.info("start the EventDelayQueueService .");
scheduled.scheduleAtFixedRate(() -> {if (items.size() > maxCapacity) {asyncAction();
return;
}
if (count.incrementAndGet() > 10) {asyncAction();
}
},10,200, TimeUnit.MILLISECONDS);
}
private void asyncAction() {// TODO}
public void add(TaskInfo info) {items.add(info);
}
}
正文完