método CompletableFuture detallada Nuevas características de Java8

  CompletableFuture proporciona cuatro métodos estáticos para crear una operación asíncrona.

  Los métodos estáticos son los siguientes:

  CompletableFuture runAsync (runnable Ejecutable);

  CompletableFuture runAsync (runnable Ejecutable, Ejecutor ejecutor);

  CompletableFuture supplyAsync (proveedor Proveedor);

  CompletableFuture supplyAsync (proveedor, el proveedor de Ejecutor ejecutor);

  runAsync y supplyAsync diferencia entre los dos:

  runAsync método no es compatible con los valores de retorno.

  supplyAsync puede soportar el valor de retorno.

  Ejecutor Descripción:

  Si el método existe parámetros ejecutor, utilice el ejecutor para realizar tareas;

  De lo contrario, utilice ForkJoinPool.commonPool común () como el grupo de subprocesos de ejecución de tareas por defecto asíncrona.

  Ejemplos de una

  public static void Main (args String []) throws ExecutionException, InterruptedException {

  CompletableFuture futuro = CompletableFuture.runAsync (() -> System.out.println ( "Hola mundo"));

  System.out.println (future.get ());

  }

  Los resultados:

  Hola Mundo

  nulo

  Ejemplo dos

  public static void Main (args String []) throws ExecutionException, InterruptedException {

  ExecutorService ejecutor = Executors.newCachedThreadPool ();

  CompletableFuture futuro = CompletableFuture.runAsync (() -> System.out.println ( "Hola mundo"), ejecutor);

  System.out.println (future.get ());

  } Zhengzhou flujo del hospital http://www.zyfuke.com/

  Los resultados:

  Hola Mundo

  nulo

  ejemplo tres

  public static void Main (args String []) throws ExecutionException, InterruptedException {

  // obtener la fecha y hora actual

  CompletableFuture futuro = CompletableFuture.supplyAsync (Sistema :: currentTimeMillis);

  System.out.println (future.get ());

  }

  Los resultados:

  1586245295714

  Ejemplo cuatro

  public static void Main (args String []) throws ExecutionException, InterruptedException {

  // obtener la fecha y hora actual

  ExecutorService ejecutor = Executors.newCachedThreadPool ();

  CompletableFuture futuro = CompletableFuture.supplyAsync (Sistema :: currentTimeMillis, ejecutor);

  System.out.println (future.get ());

  }

  Los resultados:

  1586245295714


Supongo que te gusta

Origin blog.51cto.com/14335413/2485738
Recomendado
Clasificación