下面的线程每12-24小时运行一次,我不想池中有一个空闲线程。当前代码是:
private final ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
...
scheduler.scheduleAtFixedRate(() -> getLastestJson(), INITIAL_DELAY, CHECK_INTERVAL, TimeUnit.MINUTES);
在CHECK_INTERVAL> 12小时的情况下,如何利用newCachedThreadPool()
。该操作的持续时间为<15秒。
答案 0 :(得分:1)
您真的不能这样做,因为线程需要等待,以便在适当的时间开始新工作。您当前的版本是最小的解决方案,带有1个“空闲”线程。