¿Cuáles son las diferencias y conexiones entre esperar, unirse, suspender, ceder, notificar, notificar a todos y sincronizar en subprocesos de Android?
Respuesta: 1).método sleep()
Pausa la ejecución del hilo que se está ejecutando actualmente dentro del tiempo especificado, pero no libera el "indicador de bloqueo". No recomendado. sleep() pone el hilo actual en un estado de bloqueo y no se ejecutará dentro del tiempo especificado.
Método 2).wait()
Hace que el hilo actual espere antes de que otros hilos llamen al método notificar o notificarTodos del objeto. El hilo liberará la "bandera de bloqueo" que contiene, dando a otros hilos la oportunidad de aprovechar el bloqueo.
Para activar el hilo de espera del bloqueo del objeto actual, utilice el método notify o notifyAll. Se debe llamar a wait() y notify() en la función sincronizada o en el bloque sincronizado.
Método 3).yield
Pausa el objeto de hilo que se está ejecutando actualmente. Yield() solo devuelve el hilo actual al estado ejecutable, por lo que el hilo que ejecuta 3) Yield() puede ejecutarse nuevamente inmediatamente después de ingresar al estado ejecutable. yield() solo puede dar la oportunidad de ejecutar subprocesos de la misma prioridad o de mayor prioridad.
Método 4).join
Espera a que finalice el hilo. Espere a que finalice el hilo que llama al método de unión antes de continuar con la ejecución. Por ejemplo: t.join(); // Se utiliza principalmente para esperar a que el hilo t termine de ejecutarse. Sin esta oración, se ejecutará main, lo que generará resultados impredecibles.