public class TimeWheelTest3 {
private ThreadPoolExecutor jobTriggerPool = new ThreadPoolExecutor(20, 50, 200, TimeUnit.MILLISECONDS,
new ArrayBlockingQueue<Runnable>(50));
private Map<Integer, List<Integer>> ringData = new ConcurrentHashMap<>();
private Thread timeWheelThread;
private static volatile boolean stopTimeWheel = false;
//启动定时器
private void start(){
timeWheelThread = new Thread(new Runnable() {
@Override
public void run() {
while (!stopTimeWheel){
try {
//先以秒为刻度
TimeUnit.SECONDS.sleep(1);
//当前秒
int nowSecond = Calendar.getInstance().get(Calendar.SECOND);
//触发任务
triggerJob(nowSecond);
} catch (InterruptedException e) {
log.inf
java 实现简单时间轮调度算法
最新推荐文章于 2024-04-23 18:52:22 发布