次のクラスがあるとします。
public class Poller implements Runnable {
public static final int CORE_POOL_SIZE = 4;
public boolean running;
public ScheduledExecutorService ses;
public void startPolling() {
this.ses = Executors.newScheduledThreadPool(CORE_POOL_SIZE);
this.ses.scheduleAtFixedRate(this, 0, 1, TimeUnit.SECONDS);
}
public void run() {
running = true;
// ... Do something ...
running = false;
}
}
のScheduledExecutorService
コア スレッド プール サイズは 4 ですが、複数のポーラー スレッドが作成されることはありますか? this
に渡されるので、それはscheduleAtFixedRate
スレッドが 1 つしか存在しないことを意味しますか? それとも、より複雑なことが舞台裏で発生しますか?
2 つのおまけの質問:-
running
する必要がありstatic
ますか?CORE_POOL_SIZE
冗長ですか?