Si no entendi mal lo que preguntas el codigo que postee hace lo que estas preguntando. Seguramente te estes equivocando de ciclo. Si te fijas, en el metodo Main hay un bucle " while (bandera)". Ahi es donde tienes que meter tu codigo. Este ciclo se repite mientras no se presione la tecla "s".
Si te fijas, un poco mas abajo en el metodo "hilo()", ahi te encuentras otro while(true). Este bucle solo se encarga de leer las teclas presionadas. Cada vez que se presiona una tecla, salta al "if" este compara la tecla presionada, si es la deseada, en este caso "s" cambia el valor de "bandera" haciendo que el ciclo while(bandera) deje de repetirse. A la vez, con el break; salimos del ciclo while(true) y se cierra el hilo creado. Si la tecla no fuera la "s" entonces no entra en el 'if' y vuelve al principio a la espera que se presione una tecla.
Espero sea esa la duda, sino avisa. Saludos