¿Es esta inanición?

Encontré un trozo de código donde el hilo parece morir de hambre. A continuación se muestra un ejemplo simplificado. ¿Es este un ejemplo para la inanición? ¿Cuál es la razón por la cual el hilo no termina?

Nota: Cambiar la suspensión a 1 a veces dará como resultado la terminación. El Thread.yield () comentado solucionaría el problema (para mí).

public class Foo {

    public static boolean finished = false;

    public static void main(String[] args) {

          Runnable worker = new Runnable() {

                 @Override
                 public void run() {

                      try {
                           Thread.sleep(10);
                      } catch (InterruptedException e) {
                          // TODO Auto-generated catch block
                          e.printStackTrace();
                      }

                      finished = true;
                 }
            };

            new Thread(worker).start();

            while (!finished) {
//          Thread.yield();
        }
    }
}

Respuestas a la pregunta(2)

Su respuesta a la pregunta