package org.yeshi.utils.mq; import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.ThreadFactory; import java.util.concurrent.TimeUnit; public class JobThreadExecutorServiceImpl { private ScheduledExecutorService scheduledExecutorService; public JobThreadExecutorServiceImpl() { scheduledExecutorService = Executors.newSingleThreadScheduledExecutor(new ThreadFactory() { @Override public Thread newThread(Runnable r) { Thread thread = new Thread(r); thread.setDaemon(true); return thread; } }); } public void run(Runnable runnable) { scheduledExecutorService.scheduleAtFixedRate(runnable, 1000 * 1, 1000, TimeUnit.MILLISECONDS); } }