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
100cuci terbaru 100cuci terbaru
Лучшие букмекерские конторы Казахстана Лучшие букмекерские конторы Казахстана
Environmental improvement often begins with awareness followed by consistent small habits that gradually reshape lifestyle choices Green Impact Network I started recycling more and minimizing plastic waste, and the results feel surprisingly satisfying – Started recycling more and using less plastic, small steps matter
I spent time comparing several online platforms today before landing on reliable shopping portal, where the content appeared current and the smooth navigation made it simple to browse through different sections comfortably.
лучшие бк онлайн лучшие бк онлайн
лучшие букмекерские конторы лучшие букмекерские конторы
100cuci app 100cuci app
100 cuci 100 cuci
кухня по индивидуальному заказу спб кухня по индивидуальному заказу спб
оборудование ситуационных центров https://media-garage.ru/moya-kollekciya/osnashchenie-dispetcherskih-i-situacionnyh-centrov
While browsing various retail-style websites, I checked Blossom Bay retail space where the interface is minimal and product areas are spaced evenly, creating a comfortable viewing experience – Everything feels intentionally organized and easy to navigate.
заказать кухню под ключ https://zakazat-kuhnyu-19.ru
100cuci mirror 100cuci mirror
сколько стоит заказать кухню по размерам https://zakazat-kuhnyu-19.ru