diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java index 3816343..57c16e7 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java @@ -171,7 +171,7 @@ // align second try { - TimeUnit.MILLISECONDS.sleep(System.currentTimeMillis()%1000 ); + TimeUnit.MILLISECONDS.sleep(1000 - System.currentTimeMillis()%1000 ); } catch (InterruptedException e) { if (!toStop) { logger.error(e.getMessage(), e); @@ -181,7 +181,6 @@ int lastSecond = -1; while (!toStop) { - long start = System.currentTimeMillis(); try { // second data List ringItemData = new ArrayList<>(); @@ -219,11 +218,10 @@ logger.error(">>>>>>>>>>> xxl-job, JobScheduleHelper#ringThread error:{}", e); } } - long cost = System.currentTimeMillis() - start; // next second, align second try { - TimeUnit.MILLISECONDS.sleep(1000-cost); + TimeUnit.MILLISECONDS.sleep(1000 - System.currentTimeMillis()%1000); } catch (InterruptedException e) { if (!toStop) { logger.error(e.getMessage(), e);