DEV Community

FUNDAMENTOS JAVA
FUNDAMENTOS JAVA

Posted on

1

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");
}

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more