Similitud entre dormir y unirse a Java

Como sugiere la pregunta, quiero saber la similitud entre los métodos de suspensión y unión en el hilo. He pasado por muchas preguntas que describen la diferencia entre el método de dormir y unirse. Pero me gustaría conocer diferentes escenarios en los que los métodos de suspensión y unión podrían usarse indistintamente. Según mi opinión, el siguiente código debería funcionar de la misma manera. Tengo un hilo principal en el que comienzo un nuevo hilo (solo 1) y quiero que el hilo principal espere a que el nuevo hilo se complete durante un tiempo. El código es el siguiente:

   newThread.join(10000)

O,

  Thread.sleep(10000)

pero cuando ejecuto este código no obtengo los resultados esperados. ¿por qué esto es tan? técnicamente debería ser el mismo ¿verdad?

Respuestas a la pregunta(2)

Su respuesta a la pregunta