Gerência de TI |
Threads
A thread é a unidade básica de uso do processador. Threads de um mesmo processo compartilham código, dados e arquivos abertos, mas possuem pilha e registradores próprios.
Por isso, a criação de threads e a comunicação entre elas são mais eficientes do que entre processos distintos, ainda que a proteção mútua seja menor: um erro em uma thread pode comprometer todo o processo.
Concorrência e Sincronização
A condição de corrida surge quando o resultado depende da ordem imprevisível de execução de operações concorrentes sobre dados compartilhados.
A solução passa pela definição de regiões críticas protegidas por mecanismos de exclusão mútua, como semáforos, mutexes e monitores.
O uso incorreto desses mecanismos pode gerar deadlock, situação em que processos aguardam mutuamente recursos que jamais serão liberados. Suas quatro condições necessárias são exclusão mútua, posse e espera, não preempção e espera circular.
Questões
Exercite seu aprendizado!