Saltar al contenido

Manera fácil de llamar al método en un nuevo hilo

Solución:

Desde Java 8 puede usar una forma más corta:

new Thread(() -> {
    // Insert some method call here.
}).start();

Actualizar:
Además, puede usar la referencia de método:

class Example {

    public static void main(String[] args){
        new Thread(Example::someMethod).start();
    }

    public static void someMethod(){
        // Insert some code here
    }

}

Puede usarlo cuando su lista de argumentos es la misma que en la @FunctionalInterface requerida, por ejemplo, Runnable o Callable.

Actualización 2:
Recomiendo encarecidamente utilizar java.util.concurrent.Executors#newSingleThreadExecutor() para ejecutar tareas de disparar y olvidar.

Ejemplo:

Executors
    .newSingleThreadExecutor()
    .submit(Example::someMethod);

Ver más: Platform.runLater y Task en JavaFX, referencias de métodos.

En primer lugar, recomendaría consultar la documentación de Java Thread.

Con un Thread, puede pasar un tipo de interfaz llamado Runnable. La documentación se puede encontrar aquí. Un ejecutable es un objeto que tiene un run método. Cuando inicias un hilo, llamará al código que esté en el run método de este objeto ejecutable. Por ejemplo:

Thread t = new Thread(new Runnable() {
         @Override
         public void run() {
              // Insert some method call here.
         }
});

Ahora, lo que esto significa es cuando llamas t.start(), ejecutará cualquier código que necesite sin retrasar el hilo principal. Esto se llama Asynchronous llamada al método, lo que significa que se ejecuta en paralelo a cualquier otro hilo que tenga abierto, como su main hilo. 🙂

En Java 8, si no se requieren parámetros, puede usar:

new Thread(MyClass::doWork).start();

O en caso de parámetros:

new Thread(() -> doWork(someParam))
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *