SóProvas


ID
3443272
Banca
VUNESP
Órgão
Câmara de Mauá - SP
Ano
2019
Provas
Disciplina
Programação
Assuntos

No C#, o bloco lock evita a ocorrência de 

Alternativas
Comentários
  • O 'bloco' lock, em linguagem C# é semelhante ao método synchronized, da linguagem Java, o qual funciona como um 'semáforo' garantindo acesso exclusivo a um certo recurso.

    Mas por que não é alternativa B ? O bloco lock também não evita deadlock? Na verdade a questão esta correta pois foi extraída daqui: https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/lock-statement

    Mas conforme menciona Tannenbaum, para haver um deadlock (impasse) é necessário haver 4 condições( Exclusão mútua, posse e espera, não preempção e espera circular). Condição de corrida é evitado com a exclusão mútua - acesso exclusivo - corroborando para o gabarito da questão, pois para haver deadlock é necessário existir uma condição de corrida e MAIS 3 CONDIÇÕES. Ou seja, o bloco lock evita uma race condition e não as outras 3 condições, por isso não podemos afirmar que o bloco lock evita deadlock

    GABARITO ALTERNATIVA A