本文整理匯總了Java中java.util.concurrent.ScheduledThreadPoolExecutor.awaitTermination方法的典型用法代碼示例。如果您正苦於以下問題:Java ScheduledThreadPoolExecutor.awaitTermination方法的具體用法?Java ScheduledThreadPoolExecutor.awaitTermination怎麽用?Java ScheduledThreadPoolExecutor.awaitTermination使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類java.util.concurrent.ScheduledThreadPoolExecutor
的用法示例。
在下文中一共展示了ScheduledThreadPoolExecutor.awaitTermination方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: test
import java.util.concurrent.ScheduledThreadPoolExecutor; //導入方法依賴的package包/類
private static void test(boolean allowTimeout) throws Exception {
CountingThreadFactory ctf = new CountingThreadFactory();
ScheduledThreadPoolExecutor stpe
= new ScheduledThreadPoolExecutor(10, ctf);
try {
// schedule a dummy task in the "far future"
Runnable nop = new Runnable() { public void run() {}};
stpe.schedule(nop, FAR_FUTURE_MS, MILLISECONDS);
stpe.setKeepAliveTime(1L, MILLISECONDS);
stpe.allowCoreThreadTimeOut(allowTimeout);
MILLISECONDS.sleep(12L);
} finally {
stpe.shutdownNow();
if (!stpe.awaitTermination(LONG_DELAY_MS, MILLISECONDS))
throw new AssertionError("timed out");
}
if (ctf.count.get() > 1)
throw new AssertionError(
String.format("%d threads created, 1 expected",
ctf.count.get()));
}
示例2: main
import java.util.concurrent.ScheduledThreadPoolExecutor; //導入方法依賴的package包/類
public static void main(String[] args) throws Throwable {
final CountDownLatch count = new CountDownLatch(1000);
final ScheduledThreadPoolExecutor pool =
new ScheduledThreadPoolExecutor(100);
pool.prestartAllCoreThreads();
final Runnable incTask = new Runnable() { public void run() {
count.countDown();
}};
pool.scheduleAtFixedRate(incTask, 0, 10, TimeUnit.MILLISECONDS);
count.await();
pool.shutdown();
pool.awaitTermination(1L, TimeUnit.DAYS);
}