Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет yigal_s ([info]yigal_s)
@ 2012-02-01 16:23:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
банальности
Обнаружил, что не понимаю толком как собирать работающую систему из отдельных частей или шатдаунить подобную систему.

Т.е. если в разных частях этой системы имеются некоторые активные части (рабочие треды, треды, прослушивающие внешние события) итд итп. то активизация подобной системы -- чуток проблемная вещь, поскольку в момент стартапа некоторые её части уже активизированы, а некоторые - нет, в лучшем случае только сконструированы.

Более подробно, если протокол создания объекта включает только лишь вызов конструктора, то может оказаться, что на подобный объект могут прийти внешние запросы, когда не все другие объекты созданы и подключены к данному. Если же протокол двустадийный - конструирование и активизация, то опять же, активизация - событие не атомарное, и не всегда может быть атомарным (скажем, какие-то части системы могут подгружаться и отгружаться), и потому даже активизированный объект не всегда сможет вызвать нужную функциональность других объектов, если они еще не активизированы.

Опять же, на шатдауне примерно такая же ситуация, но зеркально отраженная по времени. В чем-то, может, даже и хуже, потому что вот система работает полностью, а вот она начинает постепенно распадаться, в то время, как, быть может, в ней забуферизованы еще какие-то запросы.

Т.е. понятно, что подобные вещи писать можно, и пишем мы их неоднократно, но как-то всё оно на соплях, без внятного понимания как оно должно писаться правильно и насколько оно надежно написано.