Threads - pergunta de Prova

Olá pessoal tem um pergunta que estou com dúvida segue abaixo.


 public void run(){
      
     System.out.println("Start");
    
     try{
            Thread.sleep(1000);
            System.out.println("Time's Up);
     }catch(InterruptedException ex){
             System.out.prinln("Interrupted!");
 }

Qual a saída ? e a explicação

A - Exactly 10 seconds after the start method is called, ?Time?s UP! will be printed.
B - Exactly 10 seconds after ?Start? is printed, ?Time´s Up? will be printed.
C ?The delay between ?Start? being printed and ?Times?s Up! will be 10 seconds plus or minus one tck of the system clock
D ? If ?Times?s Up! is printed you can be sure that at least 10 seconds have elapsed since ?Start? was printed

Alternativa D. Pq a thread poderia por algum motivo ter sido tirada do estado de execução entre a impressão de “Start” e a impressão de “Time’s Up” o que acarretaria um tempo adicional aos 10 segundos produzidos pela suspensão da thread. Observe que no código a suspensão se dá por 1 segundo, está faltando um 0 para ser realmente 10 segundos.

Nenhum segredo.
executa o start.
imprimi “Start”

entra no try, suspende a thread por 1 segundo para outra thread executar, como não tem.
logo depois imprimi “Time’s up”

Eu também marquei a resposta A,
mas a correta é a D e valeu pela explicação.

[quote=rogsousap]
Eu também marquei a resposta A,
mas a correta é a D e valeu pela explicação.[/quote]

nao pode ser a letra A pq nao há segurança quando se trata de threads. e observe que ele afirma exatamente!!!