Java Concurrency 简明教程
newScheduledThreadPool Method
可以通过调用 Executors 类的静态 newScheduledThreadPool() 方法获得预定线程池。
A scheduled thread pool can be obtainted by calling the static newScheduledThreadPool() method of Executors class.
Example
以下 TestThread 程序显示了在线程环境中 newScheduledThreadPool 方法的用法。
The following TestThread program shows usage of newScheduledThreadPool method in thread based environment.
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.TimeUnit;
public class TestThread {
public static void main(final String[] arguments) throws InterruptedException {
final ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
final ScheduledFuture<?> beepHandler =
scheduler.scheduleAtFixedRate(new BeepTask(), 2, 2, TimeUnit.SECONDS);
scheduler.schedule(new Runnable() {
@Override
public void run() {
beepHandler.cancel(true);
scheduler.shutdown();
}
}, 10, TimeUnit.SECONDS);
}
static class BeepTask implements Runnable {
public void run() {
System.out.println("beep");
}
}
}
这将产生以下结果。
This will produce the following result.