Escolar Documentos
Profissional Documentos
Cultura Documentos
Respostas:
Por outro lado, o tempo do próprio sistema da thread pode por não aparentar que essa
condição de corrida seja visível, apesar de estar registrado em código. A condição de
corrida é um problema iminente, ocasionada (até) por simples alterações no algoritmo.
E, entendendo que diferentes máquinas virtuais terão ordens diferentes de execução de
suas threads, cabe ao desenvolvedor nunca permitir que uma condição de corrida
aconteça, mesmo que não esteja causada por um problema no sistema de
desenvolvimento.
5) O mutex também pode ser conhecido como bloqueio mutuamente exclusivo. Este tipo
de bloqueio é encontrado em diversos sistemas de threading como meio de
sincronização. Em linhas gerais, uma thread só pode pegar um mutex por vez. Se duas
threads tentarem pegar um mutex ao mesmo tempo, apenas uma terá sucesso. O outra
thread terá que esperar até que a primeira thread libere o bloqueio e só assim ela
poderá, na sequência, pegar mutex e seguir com sua operação.
Em Java já existe um bloqueio padrão que é criado para cada objeto do sistema, ocorre
quando um método é declarado sincronizado e a thread em execução no momento
deve reter o bloqueio atribuído ao objeto antes de conseguir prosseguir. A liberação
automática do bloqueio ocorre quando o método é concluído.