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
888starz casino официальный сайт https://888-uz5.com/
Всем привет из культурной столицы Качество пластилин То доставку три месяца ждать Короче, реальное производство в Питере — кухни в спб от производителя из массива Цены ниже салонов на 40 тысяч В общем, смотрите сами по ссылке — кухни на заказ спб недорого с ценами https://kuhni-spb-fpk.ru Проверяйте производителя по этому списку Перешлите тому кто тоже мучается
Народ кто в Питере живет. Объездил полгорода салонов — везде перекупы. То ДСП сыпется. Короче, реальное производство в Питере — купить кухню спб с установкой. Проект бесплатно. В общем, смотрите сами по ссылке — где купить готовую кухню в спб https://zakazat-kuhnyu-qwe.ru Не ведитесь на салоны. Перешлите кому надо.
мостбет crash Кыргызстан мостбет crash Кыргызстан
Слушайте кто ремонт затеял Оббегал все салоны в городе — везде одно и то же То кромка кривая через раз Короче, нашел нормальных производителей — купить кухню в спб от производителя недорого Сделали за 2 недели включая замер В общем, сохраняйте в закладки — кухни на заказ от производителя в спб кухни на заказ от производителя в спб Не ведитесь на салоны-прокладки с накруткой Сам полгода выбирал теперь знаю
melbet пайгирии пардохт melbet73919.online
мостбет официальный сайт рабочий http://www.zakaz.kg
Всем привет из Питера Замучился я уже кухню выбирать То ЛДСП 16 мм а не 18 Короче, реальные ребята с цехом в СПб — кухни на заказ под ключ Кромка на немецком оборудовании В общем, вся инфа вот здесь — кухни на заказ санкт петербург от производителя https://kuhni-spb-wxh.ru Не ведитесь на салоны в ТЦ которые просто заказывают у китайцев и ставят наценку 100% Перешлите тому кто тоже мучается выбором
Слушайте кто недавно кухню делал Обещают одно а по факту другое То ДСП сыпется Короче, нашел наконец нормальную контору — кухни на заказ под ключ Цены ниже чем в магазинах на 50 тысяч В общем, смотрите сами по ссылке — кухни на заказ от производителя кухни на заказ от производителя Проверяйте производителя по этому списку Перешлите тому кто тоже мучается