Considerando as principais armadilhas do tratamento de sincronização de threads, o que ocorre quando a thread1 espera pelo desbloqueio de um mutex que estava bloqueado pela thread2, mas a thread2 finalizou seu processamento sem efetuar a liberação do mutex?


O processo pai deve detectar a situação e desbloquear o mutex em questão.


O sistema operacional cuida de automaticamente de desbloquear mutexes quando a thread que o bloqueava finaliza.


O programa irá ser finalizado pelo sistema operacional com uma mensagem "falha de desbloqueio".


O thread1 deve chamar a função join, usada para desbloquear de forma forçada a mutex necessária


Não há como contornar a questão sem ajustes no código-fonte, pois somente a thread2 poderia realizar o desbloqueio.
Please enter comments
Please enter your name.
Please enter the correct email address.
You must agree before submitting.

Lista de comentários


More Questions From This User See All

Helpful Social

Copyright © 2025 ELIBRARY.TIPS - All rights reserved.