test/java/util/concurrent/ThreadPoolExecutor/ThrowingTasks.java

Print this page

        

*** 33,43 **** import java.util.*; import java.util.concurrent.*; import java.util.concurrent.atomic.*; public class ThrowingTasks { ! final static Random rnd = new Random(); @SuppressWarnings("serial") static class UncaughtExceptions extends ConcurrentHashMap<Class<?>, Integer> { --- 33,43 ---- import java.util.*; import java.util.concurrent.*; import java.util.concurrent.atomic.*; public class ThrowingTasks { ! static final Random rnd = new Random(); @SuppressWarnings("serial") static class UncaughtExceptions extends ConcurrentHashMap<Class<?>, Integer> {
*** 63,119 **** Integer i = get(key); put(key, (i == null) ? 1 : i + 1); } } ! final static UncaughtExceptions uncaughtExceptions = new UncaughtExceptions(); ! final static UncaughtExceptionsTable uncaughtExceptionsTable = new UncaughtExceptionsTable(); ! final static AtomicLong totalUncaughtExceptions = new AtomicLong(0); ! final static CountDownLatch uncaughtExceptionsLatch = new CountDownLatch(24); ! final static Thread.UncaughtExceptionHandler handler = new Thread.UncaughtExceptionHandler() { public void uncaughtException(Thread t, Throwable e) { check(! Thread.currentThread().isInterrupted()); totalUncaughtExceptions.getAndIncrement(); uncaughtExceptions.inc(e.getClass()); uncaughtExceptionsTable.inc(e.getClass()); uncaughtExceptionsLatch.countDown(); }}; ! final static ThreadGroup tg = new ThreadGroup("Flaky"); ! final static ThreadFactory tf = new ThreadFactory() { public Thread newThread(Runnable r) { Thread t = new Thread(tg, r); t.setUncaughtExceptionHandler(handler); return t; }}; ! final static RuntimeException rte = new RuntimeException(); ! final static Error error = new Error(); ! final static Throwable weird = new Throwable(); ! final static Exception checkedException = new Exception(); static class Thrower implements Runnable { Throwable t; Thrower(Throwable t) { this.t = t; } @SuppressWarnings("deprecation") public void run() { if (t != null) Thread.currentThread().stop(t); } } ! final static Thrower noThrower = new Thrower(null); ! final static Thrower rteThrower = new Thrower(rte); ! final static Thrower errorThrower = new Thrower(error); ! final static Thrower weirdThrower = new Thrower(weird); ! final static Thrower checkedThrower = new Thrower(checkedException); ! final static List<Thrower> throwers = Arrays.asList( noThrower, rteThrower, errorThrower, weirdThrower, checkedThrower); static class Flaky implements Runnable { final Runnable beforeExecute; final Runnable execute; --- 63,119 ---- Integer i = get(key); put(key, (i == null) ? 1 : i + 1); } } ! static final UncaughtExceptions uncaughtExceptions = new UncaughtExceptions(); ! static final UncaughtExceptionsTable uncaughtExceptionsTable = new UncaughtExceptionsTable(); ! static final AtomicLong totalUncaughtExceptions = new AtomicLong(0); ! static final CountDownLatch uncaughtExceptionsLatch = new CountDownLatch(24); ! static final Thread.UncaughtExceptionHandler handler = new Thread.UncaughtExceptionHandler() { public void uncaughtException(Thread t, Throwable e) { check(! Thread.currentThread().isInterrupted()); totalUncaughtExceptions.getAndIncrement(); uncaughtExceptions.inc(e.getClass()); uncaughtExceptionsTable.inc(e.getClass()); uncaughtExceptionsLatch.countDown(); }}; ! static final ThreadGroup tg = new ThreadGroup("Flaky"); ! static final ThreadFactory tf = new ThreadFactory() { public Thread newThread(Runnable r) { Thread t = new Thread(tg, r); t.setUncaughtExceptionHandler(handler); return t; }}; ! static final RuntimeException rte = new RuntimeException(); ! static final Error error = new Error(); ! static final Throwable weird = new Throwable(); ! static final Exception checkedException = new Exception(); static class Thrower implements Runnable { Throwable t; Thrower(Throwable t) { this.t = t; } @SuppressWarnings("deprecation") public void run() { if (t != null) Thread.currentThread().stop(t); } } ! static final Thrower noThrower = new Thrower(null); ! static final Thrower rteThrower = new Thrower(rte); ! static final Thrower errorThrower = new Thrower(error); ! static final Thrower weirdThrower = new Thrower(weird); ! static final Thrower checkedThrower = new Thrower(checkedException); ! static final List<Thrower> throwers = Arrays.asList( noThrower, rteThrower, errorThrower, weirdThrower, checkedThrower); static class Flaky implements Runnable { final Runnable beforeExecute; final Runnable execute;