Método sleep() pertence a currentThread !!!

voltar

 
 

No código abaixo, acionamos duas Threads que contarão até 100 e imprimirão o resultado de 10 em 10.

 
 

O que ocorre é que na linha destacada, apesar de parecer estarmos colocando a Thread1 para dormir, na verdade estamos colocando apenas a Thread Main. Por isso a Thread1 tem tempo de executar sua contagerm primeiro, pois a Thread2 não foi acionada ainda pela Thread Main quando “t1.sleep(2000)” ocorre.

 
 

Portanto, fica provado que a instrução sleep() faz com que a thread em execução seja pausada no tempo especificado, tanto é que tanto faz: “t1.sleep(2000)”, “t2.sleep(2000)” ou “Thread.sleep(2000)”

 
 

 
 

import java.lang.Runnable;

 
 

public class CounterTest{

public static void main(String args[]){

Counter c1 = new Counter(“Counter1”);

Counter c2 = new Counter(“Counter2”);

 
 

Thread t1 = new Thread(c1);

Thread t2 = new Thread(c2);

 
 

t1.start();

 
 

try {

t1.sleep(2000); // = Thread.sleep(2000)

} catch (InterruptedException e) {

e.printStackTrace();

}

System.out.println(“\tApós 2 segundos”);

t2.start();

 
 

}

}

 
 

 
 

class Counter implements Runnable{

private String name;

public Counter(String name){

this.name = name;

}

@Override

public void run() {

for (int i = 0; i < 101; i++) {

if (i % 10==0){

System.out.println(this.name + ” – “+ i);                

}

}

}

}

 
 

Output:

Counter1 – 0

Counter1 – 10

Counter1 – 20

Counter1 – 30

Counter1 – 40

Counter1 – 50

Counter1 – 60

Counter1 – 70

Counter1 – 80

Counter1 – 90

Counter1 – 100

Após 2 segundos

Counter2 – 0

Counter2 – 10

Counter2 – 20

Counter2 – 30

Counter2 – 40

Counter2 – 50

Counter2 – 60

Counter2 – 70

Counter2 – 80

Counter2 – 90

Counter2 – 100

 
 

Esta entrada foi publicada em Threads com as etiquetas . ligação permanente.

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s