Función que la aplicación de la retención Ejecutable

Kunlun:

Tengo este código:

new Thread(() -> {

    //do things

}).start();

new Thread(() -> {

    //do same things

}).start();

Sé que puedo declarar una función que mantenga lambda:

Function<Integer, Integer> add = x -> x + 1;

Quiero hacer esta función para la implementación de retención Runnablede new Thread.

Pero no sé qué poner entre <>de Function.

Ravindra Ranwala:

java.util.Functionno puede representar una Runnabletarea debido a que la función toma en un argumento y devuelve algo, y por el contrario Runnable.runmétodo no tiene ningún argumento y devuelve nada. Incluso si usted siente que Runnablees algo similar en su naturaleza a una Function<Void, Void>, aunque esta suposición es incorrecta debido a la misma razón.

Teniendo en cuenta que Runnablees una única interfaz método abstracto (Sólo método ha de ejecución), puede simplemente ponerlo en práctica con una expresión lambda. Observe también que este lambda es sólo un azúcar sintáctico más sucinta a las clases internas anónimas ortodoxos. Así es como se ve.

Runnable task = () -> System.out.println("My task");

Puede utilizar este Runnableejemplo como un ordinario Runnablede comandos en su programa. Aquí está un ejemplo tal uso.

Thread t = new Thread(task);
t.start();

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=310777&siteId=1
Recomendado
Clasificación