Junior — Middle
Explique como os processos de sincronização são implementados em aplicações multithread
sobes.tech IA
Resposta da IA
Em aplicações multithread, a sincronização é necessária para evitar conflitos ao aceder simultaneamente a recursos partilhados.
Os principais mecanismos de sincronização:
- Mutex (Mutual) — bloqueiam o acesso a um recurso, permitindo que apenas um thread trabalhe com ele de cada vez.
- Semáforos — permitem limitar o número de threads que trabalham simultaneamente com um recurso.
- Monitores e blocos synchronized (em Java/Android) — simplificam o uso de mutexes.
- Operações atómicas — são executadas sem interrupções, usadas para alterações simples de dados.
Por exemplo, em Android, costuma-se usar a palavra-chave synchronized para sincronização:
private final Object lock = new Object();
public void increment() {
synchronized(lock) {
counter++;
}
}
Isto garante que apenas um thread execute o código dentro do bloco de cada vez, prevenindo condições de corrida.