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
mostbet киберспорт ставки http://mostbet80395.help/
aviator email support aviator13854.help
melbet android app скачать http://melbet31507.help
Этот информационный материал подробно освещает проблему наркозависимости, ее причины и последствия. Мы предлагаем информацию о методах лечения, профилактики и поддерживающих программах. Цель статьи — повысить осведомленность и продвигать идеи о необходимости борьбы с зависимостями.
Проверенные методы — узнай сейчас – вывод из запоя на дому в краснодаре
мелбет free spins киргизия мелбет free spins киргизия
Эта статья подробно расскажет о процессе выздоровления, который включает в себя эмоциональную, физическую и психологическую реабилитацию. Мы обсуждаем значимость поддержки и наличие профессиональных программ. Читатели узнают, как строить новую жизнь и не возвращаться к старым привычкам.
Продолжить чтение – detox24 в краснодаре
mostbet лимиты вывода mostbet80395.help
Этот информационный материал подробно освещает проблему наркозависимости, ее причины и последствия. Мы предлагаем информацию о методах лечения, профилактики и поддерживающих программах. Цель статьи — повысить осведомленность и продвигать идеи о необходимости борьбы с зависимостями.
Получить полную информацию – detox24
statistics monopoly live https://monopoly-live-bd.com/
spin crazy time https://crazytimeee.com/
aviator download link aviator download link
мостбет платежные методы http://mostbet80395.help/
mostbet мобильная версия https://mostbet80395.help
how to deposit on aviator how to deposit on aviator
live action monopoly movie https://monopoly-live-bangladesh.com/
crazy time prova https://crazy-timez.com/
casino solana https://solanagxy.com/
Обзор посвящён процессу восстановления после зависимостей. Мы расскажем о различных этапах реабилитации, поддерживающих ресурсах и важности мотивации в достижении устойчивого выздоровления.
Есть чему поучиться – вывод из запоя на дому краснодар
1win демо plinko 1win демо plinko
mostbet casino automaty mostbet75409.help
Эта публикация посвящена актуальным вопросам современной медицины и здравоохранения. Мы обсудим новейшие технологии диагностики и лечения, а также их влияние на продолжительность и качество жизни. Читатель найдет здесь информацию о научных исследованиях и перспективных разработках, доступно изложенную для широкой аудитории.
Узнать больше > – вывод из запоя краснодар
processing 888starz bet https://colindaylinks.com/
мостбет линия ставок https://mostbet80395.help
mostbet live blackjack https://mostbet75409.help
Этот краткий обзор предлагает сжатую информацию из области медицины, включая ключевые факты и последние новости. Мы стремимся сделать информацию доступной и понятной для широкой аудитории, что позволит читателям оставаться в курсе актуальных событий в здравоохранении.
Осуществить глубокий анализ – [url=https://mlady.org/kak-mozhno-vylechit-alkogolizm-u-muzha/]детокс24 донецк[/url]
Эта публикация обращает внимание на важность профилактики зависимостей. Мы обсудим, как осведомленность и образование могут помочь в предотвращении возникновения зависимости. Читатели смогут ознакомиться с полезными советами и ресурсами, которые способствуют здоровому образу жизни.
Есть чему поучиться – срочный выезд нарколога на дом
mostbet vklad čeká https://mostbet75409.help
мелбет изменить номер телефона мелбет изменить номер телефона
mostbet live sázky https://mostbet75409.help
melbet crash game melbet crash game
melbet apk кыргызстан melbet96841.help
mostbet nastavení jazyka čeština http://mostbet75409.help
mostbet promo kodu necə aktiv etmək https://mostbet72483.help
mostbet depozit olmadan oynamaq https://www.mostbet72483.help
mostbet transfer bancar https://mostbet19438.help
mostbet demo automaty http://www.mostbet75409.help
мелбет live чат http://www.melbet96841.help
melbet проверка аккаунта https://melbet42570.help/
рехаб нижний новгород рехаб нижний новгород
мелбет lucky jet https://melbet42570.help/
melbet как играть в mines https://melbet96841.help
1win depunere lei moldovenesti 1win depunere lei moldovenesti
1win incercare gratuita jocuri 1win incercare gratuita jocuri
1вин kg 1вин kg
mostbet depozit üsulu seçmək mostbet depozit üsulu seçmək
1win Ош скачать 1win Ош скачать
mostbet živé casino http://www.mostbet75409.help
1win отмена ставки http://1win07492.help
spike crazy time https://crazy-timez.com/
best solana casino https://solanagxy.com/