Trabalho 3 – EPOS
System Object Destruction
No exercício três deviamos implementar o controle de destrução de objetos, o qual não deve corromper o sistema e também deve estar de acordo com a semântica da linguagem de programação.
A implementação adotada funciona da seguinte maneira: na class Thread foi adicionado um campo _container, nele é guardada a fila em que a Thread se encontra no momento. Os métodos desta classe foram alterados para que a consistência do campo _container seja mantida. No método join, por exemplo, o campo _container é atualizado com o endereço da fila _waiting_for_me do objeto em que se da join.
Quando uma thread entra para o estado RUNNING o seu campo container não é atualizado, já que caso o mesmo seja deletado (ou auto-deletado), ele tentará se remover de uma fila em que não está, não causando mais problemas.
Quando uma thread que possui elementos na sua fila _waiting_for_me é deletada, ela não acorda aquelas que a estão esperando, entrando em uma situação de deadlock. Nosso sistema, por conseguir detectar essa situação facilmente, gera um aviso. Porém, caso a Thread que tente se dar join já tiver sido destruída e removida da memória, a thread em execução trava, como nosso sistema não consegue detectar esse erro ele não é informado.
Quando um objeto que extende a classe Synchronizer é deletado, seu destrutor chama wakeup_all, fazendo com que todos as threads que estiverem travadas nele continuem a execução.
Arquivos Modificados:
Thread.h
Thread.cc
Sycronizer.h
мостбет правила вывода http://mostbetskg.buzz/
888starz вход https://888starzuz8.com/
pin up mobil kirish https://pinup77432.help/
starz88 https://888starz-uz.mystrikingly.com/
mostbet live chat uzbek mostbet live chat uzbek
888starz uz skachat https://888starzuz10.com/
Этот обзор медицинских исследований собрал самое важное из последних публикаций в области медицины. Мы проанализировали ключевые находки и представили их в доступной форме, чтобы читатели могли легко ориентироваться в актуальных темах. Этот материал станет отличным подспорьем для изучения медицины.
Детальнее – врач нарколог выезд
мостбет mines мостбет mines
mostbet Fargʻona uzcard https://mostbet10093.help/
aviator o‘yini mostbet https://mostbet47654.help/
mostbet mines 2026 mostbet mines 2026
Hello there, You have done a fantastic job. I’ll certainly digg it and personally suggest to my friends. I am sure they’ll be benefited from this web site.
mostbet pul yechish Oʻzbekiston [url=www.mostbet10093.help]mostbet pul yechish Oʻzbekiston[/url]
pin-up Humo pinup77432.help
888starz apk https://bluck.digital/blog/2025/12/11/igrayte-v-onlaynkazino-888starz-na-ios-v-uzbekistane/
true fortune casino https://pad.geolab.space/s/d91uwfpgq
мостбет актуальное зеркало http://www.mostbetskg.fun