は、私はいくつかのJavadocを読んでいたし、私は誰もがコードがあれば最初に渡すことができますどのように私を説明できthis example from ThreadPoolExecutor.afterExecute(...)
javadocs:Runnable instanceof Future <?>?
class ExtendedExecutor extends ThreadPoolExecutor {
// ...
protected void afterExecute(Runnable r, Throwable t) {
super.afterExecute(r, t);
if (t == null && r instanceof Future<?>) {
try {
Object result = ((Future<?>) r).get();
} catch (CancellationException ce) {
t = ce;
} catch (ExecutionException ee) {
t = ee.getCause();
} catch (InterruptedException ie) {
Thread.currentThread().interrupt(); // ignore/reset
}
}
if (t != null)
System.out.println(t);
}
}
に出くわしました。私はどのようにr
はinstanceof Future<?>
することができますか?
なぜあなたはそれが*不可*と考えられるのか説明できますか? – ruakh
さて、おそらく 'r'は[RunnableFuture](http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/RunnableFuture.html)です。 – azurefrog
'FooはRunnable、Futureを実装します {...}' –