Java/Thread: diferenças entre revisões

[edição verificada][edição verificada]
Conteúdo apagado Conteúdo adicionado
Linha 61:
 
===Instanciando a classe Thread===
Por meio de referência a <code>Runnable</code>.
<source lang="Java" highlight="5">
class EstudandoThreads {
Linha 66 ⟶ 67:
public static void main(String[] args) {
Runnable runnable = () -> System.out.println(Thread.currentThread());
Thread threadthread1 = new Thread(runnable);
Thread thread2 = new Thread(runnable, "Thread com Runnable");
}
}
</source>
 
Por meio de instância de subclasse de <code>Thread</code>.
<source lang="Java" highlight="">
class EstudandoThreads {
 
public static void main(String[] args) {
LinhaDeExecucao thread1 = new LinhaDeExecucao("subclasse de Thread");
LinhaDeExecucao thread2 = new LinhaDeExecucao();
}
}
 
class LinhaDeExecucao extends Thread {
 
public LinhaDeExecucao() {}
 
public LinhaDeExecucao(String nome) {
super(nome);
}
 
@Override
public void run() {
System.out.println(Thread.currentThread());
}
}
</source>
 
O parâmetro <code>String name</code>, encontrado nos construtores <code>Thread(String name)</code> e <code>Thread(Runnable target, String name)</code> especifica um nome para a ''thread''. Caso não especificado no construtor o nome da ''thread'' será criado automaticamente derivado do modelo '''Thread-0''', onde '''0''' é um número incrementado a cada nova ''thread'' criada sem definição de nome.
 
===Executando a thread===