ScheduledExecutorServiceの使い方
1621 ワード
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
public class TestScheduledExecutorService {
private ScheduledExecutorService scheduleExector = null;
public void doWork() {
scheduleExector = Executors.newScheduledThreadPool(2);
scheduleExector.scheduleAtFixedRate(new Runnable() {
public void run() {
System.out.println(" 2 ");
}
}, 2, 2, TimeUnit.SECONDS);
scheduleExector.scheduleAtFixedRate(new Runnable() {
public void run() {
System.out.println(" 3 ");
}
}, 3, 3, TimeUnit.SECONDS);
}
public static void main(String args[]) {
new TestScheduledExecutorService().doWork();
}
}
scheduleAtFixedRate(Runnable command,
long initialDelay,
long period,
TimeUnit unit)
所定の初期遅延後に初めて有効になった定期的な操作を作成し、実行します.後続の操作には所定の周期があります.つまり、initialDelayの後に実行が開始され、initialDelay+periodの後に実行され、initialDelay+2*periodの後に実行されます.タスクのいずれかの実行に異常が発生した場合、後続の実行はキャンセルされます.そうでなければ、プログラムのキャンセルまたは終了方法を実行することによってのみタスクを終了できます.このタスクのいずれかの実行にサイクルがかかる場合は、後続の実行は延期されますが、同時に実行されません.
public interface ScheduledExecutorService
extends ExecutorService
1つの
ExecutorService
は、所定の遅延後に実行または定期的に実行されるコマンドをスケジュールすることができる.