アプリケーション内の他のすべてのスレッドを停止するよりもScheduledExecutorService
低い優先度 (で) で実行されるすべてのスケジュールされたタスク/スレッドを実行する必要があります。MIN_PRIORITY
私はこれを次の方法で行ってきましたが、これはこれを達成する正しい方法ですか?
ScheduledExecutorService schdExctr = Executors.newSingleThreadScheduledExecutor(new ThreadFactory() {
@Override
public Thread newThread(Runnable r) {
Thread t = new Thread(r);
t.setPriority(Thread.MIN_PRIORITY);
return t;
}
});
編集:
より良い実装は次のようになると思います:
private ScheduledExecutorService schdExctr = Executors.newSingleThreadScheduledExecutor(new ThreadFactory() {
@Override
public Thread newThread(Runnable r) {
Thread t = Executors.defaultThreadFactory().newThread(r);
t.setPriority(Thread.MIN_PRIORITY);
return t;
}
});