Tengo una función que necesita realizar dos operaciones, una que finaliza rápido y otra que tarda mucho tiempo en ejecutarse. Quiero poder delegar la operación de larga ejecución en un hilo y no me importa cuándo finaliza el hilo, pero los hilos deben completarse. Implementé esto como se muestra a continuación, pero mi operación secundaria nunca se realiza cuando la función sale después de la llamada a start(). ¿Cómo puedo asegurar que la función retorna pero el segundo hilo de operación también termina su ejecución y no depende del hilo padre?¿Cómo se implementa un hilo Java verdaderamente asíncrono?
public void someFunction(String data)
{
smallOperation()
SecondOperation a = new SecondOperation();
Thread th = new Thread(a);
th.Start();
}
class SecondOperation implements Runnable
{
public void run(){
// doSomething long running
}
}
Nunca utiliza 'SecondOperation' en su' someFunction() ', ¿cómo espera que se ejecute? –
incluso te falta un punto y coma: -/ – fortran
Disculpa, solucionó el error en mi código. –