Junior — Middle
Quais são os principais métodos da classe Object usados para trabalhar com fluxos e sincronização?
sobes.tech IA
Resposta da IA
Em Java, a classe Object fornece vários métodos que são frequentemente utilizados ao trabalhar com threads e sincronização:
-
wait()— faz com que o thread atual espere até que outro thread chamenotify()ounotifyAll()no mesmo objeto. É usado para organizar a espera por um estado específico. -
notify()— acorda um único thread que está esperando nesse objeto. -
notifyAll()— acorda todos os threads que estão esperando nesse objeto.
Estes métodos devem ser chamados dentro de um bloco ou método sincronizado, caso contrário será lançada uma IllegalMonitorStateException.
Exemplo de uso:
synchronized (sharedObject) {
while (!condition) {
sharedObject.wait();
}
// Ações após a condição ser satisfeita
}
// Em outro thread
synchronized (sharedObject) {
// Alteração de estado
sharedObject.notify();
}