src/java.base/share/classes/java/util/concurrent/ForkJoinTask.java
changeset 58657 6252605fb005
parent 52730 345266000aba
equal deleted inserted replaced
58656:7322c48a84cf 58657:6252605fb005
  1372      * to be compliant with AbstractExecutorService constraints
  1372      * to be compliant with AbstractExecutorService constraints
  1373      * when used in ForkJoinPool.
  1373      * when used in ForkJoinPool.
  1374      */
  1374      */
  1375     static final class AdaptedRunnable<T> extends ForkJoinTask<T>
  1375     static final class AdaptedRunnable<T> extends ForkJoinTask<T>
  1376         implements RunnableFuture<T> {
  1376         implements RunnableFuture<T> {
       
  1377         @SuppressWarnings("serial") // Conditionally serializable
  1377         final Runnable runnable;
  1378         final Runnable runnable;
       
  1379         @SuppressWarnings("serial") // Conditionally serializable
  1378         T result;
  1380         T result;
  1379         AdaptedRunnable(Runnable runnable, T result) {
  1381         AdaptedRunnable(Runnable runnable, T result) {
  1380             if (runnable == null) throw new NullPointerException();
  1382             if (runnable == null) throw new NullPointerException();
  1381             this.runnable = runnable;
  1383             this.runnable = runnable;
  1382             this.result = result; // OK to set this even before completion
  1384             this.result = result; // OK to set this even before completion
  1394     /**
  1396     /**
  1395      * Adapter for Runnables without results.
  1397      * Adapter for Runnables without results.
  1396      */
  1398      */
  1397     static final class AdaptedRunnableAction extends ForkJoinTask<Void>
  1399     static final class AdaptedRunnableAction extends ForkJoinTask<Void>
  1398         implements RunnableFuture<Void> {
  1400         implements RunnableFuture<Void> {
       
  1401         @SuppressWarnings("serial") // Conditionally serializable
  1399         final Runnable runnable;
  1402         final Runnable runnable;
  1400         AdaptedRunnableAction(Runnable runnable) {
  1403         AdaptedRunnableAction(Runnable runnable) {
  1401             if (runnable == null) throw new NullPointerException();
  1404             if (runnable == null) throw new NullPointerException();
  1402             this.runnable = runnable;
  1405             this.runnable = runnable;
  1403         }
  1406         }
  1413 
  1416 
  1414     /**
  1417     /**
  1415      * Adapter for Runnables in which failure forces worker exception.
  1418      * Adapter for Runnables in which failure forces worker exception.
  1416      */
  1419      */
  1417     static final class RunnableExecuteAction extends ForkJoinTask<Void> {
  1420     static final class RunnableExecuteAction extends ForkJoinTask<Void> {
       
  1421         @SuppressWarnings("serial") // Conditionally serializable
  1418         final Runnable runnable;
  1422         final Runnable runnable;
  1419         RunnableExecuteAction(Runnable runnable) {
  1423         RunnableExecuteAction(Runnable runnable) {
  1420             if (runnable == null) throw new NullPointerException();
  1424             if (runnable == null) throw new NullPointerException();
  1421             this.runnable = runnable;
  1425             this.runnable = runnable;
  1422         }
  1426         }
  1432     /**
  1436     /**
  1433      * Adapter for Callables.
  1437      * Adapter for Callables.
  1434      */
  1438      */
  1435     static final class AdaptedCallable<T> extends ForkJoinTask<T>
  1439     static final class AdaptedCallable<T> extends ForkJoinTask<T>
  1436         implements RunnableFuture<T> {
  1440         implements RunnableFuture<T> {
       
  1441         @SuppressWarnings("serial") // Conditionally serializable
  1437         final Callable<? extends T> callable;
  1442         final Callable<? extends T> callable;
       
  1443         @SuppressWarnings("serial") // Conditionally serializable
  1438         T result;
  1444         T result;
  1439         AdaptedCallable(Callable<? extends T> callable) {
  1445         AdaptedCallable(Callable<? extends T> callable) {
  1440             if (callable == null) throw new NullPointerException();
  1446             if (callable == null) throw new NullPointerException();
  1441             this.callable = callable;
  1447             this.callable = callable;
  1442         }
  1448         }