DEV Community

Tente Isto 11-2 - Use a thread principal

Thread principal: Todo programa Java tem pelo menos uma thread de execução, chamada de thread principal. A thread principal é fornecida automaticamente ao programa no momento de sua execução.

Tratamento da thread principal: Embora tenha sido usada sem destaque até agora, a thread principal pode ser tratada da mesma forma que outras threads no programa.

1 Crie um arquivo chamado UseMain.java.

2 Para acessar a thread principal, use o método currentThread() da classe Thread.
Esse método retorna uma referência à thread em que é chamado.
Chamando currentThread() dentro da thread principal, você obterá uma referência a ela.
Com essa referência, é possível controlar a thread principal como qualquer outra thread.

3 Insira o programa a seguir no arquivo. Ele obtém uma referência à thread principal e então acessa e define seu nome e prioridade.

class UseMain {
public static void main(String args[]) {
Thread thrd;
// Acessa a thread principal.
thrd = Thread.currentThread();
// Exibe o nome da thread principal.
System.out.println("Main thread is called: " +
thrd.getName());
// Exibe a prioridade da thread principal.
System.out.println("Priority: " +
thrd.getPriority());
System.out.println();
// Define nome e prioridade.
System.out.println("Setting name and priority.\n");
thrd.setName("Thread #1");
thrd.setPriority(Thread.NORM_PRIORITY+3);
System.out.println("Main thread is now called: " +
thrd.getName());
System.out.println("Priority is now: " +
thrd.getPriority());
}
}

4 A saída do programa é mostrada abaixo:
Main thread is called: main
Priority: 5
Setting name and priority.
Main thread is now called: Thread #1
Priority is now: 8

5 Você deve tomar cuidado com as operações executadas na thread principal. Por exemplo, se adicionar o código a seguir ao fim de main( ), o programa nunca terminará, porque ficará esperando a thread principal terminar!
try {
thrd.join();
} catch(InterruptedException exc) {
System.out.println("Interrupted");
}

Top comments (0)