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 witryna https://mostbet14793.help
mel bet bd https://melbet67541.help/
mostbet kontakt http://mostbet14793.help
mostbet humo http://www.mostbet71530.help
Thanks for some other great post. Where else may anybody get that kind of information in such an ideal method of writing? I’ve a presentation next week, and I am at the look for such information.
Этот документ охватывает важные аспекты медицинской науки, сосредотачиваясь на ключевых вопросах, касающихся здоровья населения. Мы рассматриваем свежие исследования, клинические рекомендации и лучшие практики, которые помогут улучшить качество лечения и профилактики заболеваний. Читатели получат возможность углубиться в различные медицинские дисциплины.
Лучшее решение — прямо здесь – Прокапаться от алкоголя
vavada registracija hrvatska https://vavada25076.help
mostbet поддержка телеграм http://www.mostbet71530.help
crash mostbet crash mostbet
mostbet kod promocyjny bukmacher http://www.mostbet14793.help
vavada kontakt hrvatska https://vavada25076.help
мостбет краш стратегия http://www.mostbet71530.help
mostbet приложение android скачать http://www.mostbet71530.help
vavada oficjalna witryna https://www.vavada82614.help
выведение из запоя диспансер выведение из запоя диспансер
vavada ne mogu se prijaviti https://www.vavada25076.help
vavada vip https://www.vavada25076.help
vavada problem z dostępem vavada problem z dostępem
melbet mines how to play melbet mines how to play
melbet bd payment melbet bd payment
melbet mines bangladesh melbet mines bangladesh
We absolutely love your blog and find the majority of your post’s to be exactly what I’m looking for. Do you offer guest writers to write content to suit your needs? I wouldn’t mind composing a post or elaborating on a number of the subjects you write about here. Again, awesome weblog!
melbet email support melbet email support
melbet aviator bonus http://www.melbet67541.help
vavada wpłata blik polska vavada wpłata blik polska
mostbet uwierzytelnianie http://mostbet14793.help/
You have some helpful ideas! Maybe I should consider doing this by myself.
vavada bonus od pierwszego depozytu http://vavada82614.help/
vavada preuzimanje vavada preuzimanje
melbet free bet http://melbet67541.help/
vavada ocjena vavada ocjena
vavada kasino slotovi vavada kasino slotovi
melbet account safety https://melbet67541.help
vavada wpłata nie doszła vavada wpłata nie doszła
vavada automaty klasyczne https://www.vavada82614.help
1win depozit Oʻzbekiston https://1win72361.help/
1win oynasi ochilmayapti http://1win72361.help/
vavada zadania http://www.vavada82614.help
how to play crash on melbet http://www.melbet67541.help
1win sport tikish rasmiy sayt http://1win72361.help
vavada hrvatska https://www.vavada25076.help
Эта статья освещает различные аспекты освобождения от зависимости и пути к выздоровлению. Мы обсуждаем важность осознания своей проблемы и обращения за помощью. Читатели получат практические советы о том, как преодолевать трудности и строить новую жизнь без зависимости.
Не упусти шанс – наркологическая клиника в донецке
how to create melbet account https://melbet67541.help/
1win пардохт бо DC http://1win74120.help
vavada depozyt vavada depozyt
mostbet sms kodu https://mostbet35906.help/
1win live tikish 1win live tikish
mostbet plinko donur http://mostbet35906.help
aviator 1win aviator 1win
1win ҳисоб пур кардан 1win ҳисоб пур кардан