java多线程之定时任务

线程休眠过程中如果此线程在次调用start方法会怎样,能不关闭线程啊 除了stop方法

2个回答

  private final ScheduledExecutorService mExecutorService =
            Executors.newSingleThreadScheduledExecutor();

void startThreadTime(){
stopUpdate();
mScheduleFuture = mExecutorService.scheduleAtFixedRate(
                    new Runnable() {
                        @Override
                        public void run() {
                           // doSomething
                        }
                    }, PROGRESS_UPDATE_INITIAL_INTERVAL,
                    PROGRESS_UPDATE_INTERNAL, TimeUnit.MILLISECONDS);
}
  private void stopUpdate() {
        if (mScheduleFuture != null) {
            mScheduleFuture.cancel(false);
        }
    }

线程休眠,再次调用start,会启动一个新的线程。你可以用线程池,有任务的时候,就交给线程池处理,没有任务的时候,线程池就释放资源

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问