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
While browsing for new online options, I came across go to this site – The platform offers a clean experience where navigation is clear and pages load without noticeable delays.
When browsing different ecommerce interfaces users often prefer minimal design and clear structure because it reduces confusion and improves decision speed, especially when they encounter urban storefront simple link – The store layout feels straightforward and functional, allowing visitors to move between sections easily without unnecessary visual distractions while maintaining a smooth and practical shopping experience overall.
E-commerce users often look for websites that make navigation simple while maintaining strong performance and consistent loading speeds across all sections Direct Goods Path – It provides a straightforward route for users to explore products and complete purchases without unnecessary complexity or interruptions during the process
During my usability testing of shopping websites I noticed clean structure and reliable performance when visiting Urban Trend Zone landing hub which made browsing feel efficient – Overall experience is positive, simple design, user friendly layout, and easy navigation across all sections
Shoppers who enjoy coastal lifestyle themes often appreciate marketplaces that blend refreshing aesthetics with functional product selections for home and personal use Coastal Breeze Outlet offering a wide range of beach inspired items designed for comfort and everyday convenience – this online store provides a seamless shopping experience with well organized categories, light visual design, and practical offerings
I was browsing randomly when I found a site that felt simple and earthy with a neat layout and intuitive navigation structure twilight grove online hub – Goods here feel thoughtfully chosen with appealing rustic style vibe, making browsing fast and user friendly.
People browsing online platforms often look for intuitive systems that encourage exploration while maintaining clarity and ease of use across all sections GeniusNew Access Hub – The NewGenius website feels creative and simple, ensuring users can easily explore content and enjoy a smooth browsing experience overall.
While exploring different online stores, I found see this shop and it gave a polished impression – It’s a really pleasant browsing experience where items appear neat, clean, and thoughtfully arranged in a soft and structured layout.
Technical reviewers often evaluate media systems that prioritize speed optimization and consistent performance under varying operational conditions Express Media Platform commonly featured in performance reports – It enhances data delivery speed and ensures smooth functionality across multiple usage scenarios
Online shoppers often appreciate when stores remove unnecessary complexity and focus on usability, which is clearly seen in platforms such as straightforward retail browsing space – The structure of the site supports easy navigation and a smooth user journey, helping customers find items quickly while maintaining a practical and efficient shopping environment overall.