Threads - pergunta de Prova

4 respostas
R

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

4 Respostas

J

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.

Deluxe

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”

R

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

LPJava

rogsousap:

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

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

Criado 24 de fevereiro de 2008
Ultima resposta 25 de fev. de 2008
Respostas 4
Participantes 4