Как стать автором
Обновить
86
0.5
Евгений Охотников @eao197

Велосипедостроитель, программист-камикадзе

Отправить сообщение

Из опыта использования SObjectizer: акторы в виде конечных автоматов – это плохо или хорошо?

Время на прочтение10 мин
Количество просмотров3K

Познакомив читателей с фреймворком SObjectizer, его возможностями и особенностями, можно перейти к рассказу о некоторых уроках, которые нам довелось усвоить за более чем четырнадцать лет использования SObjectizer-а в разработке C++ного софта. Сегодня поговорим о том, когда агенты в виде конечных автоматов не являются хорошим выбором, а когда являются. О том, что возможность создания большого количества агентов – это не столько решение, сколько сама по себе проблема. И о том, как первое соотносится со вторым...

Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии6

SObjectizer: от простого к сложному. Часть III

Время на прочтение12 мин
Количество просмотров3.6K

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


Читать дальше →
Всего голосов 16: ↑16 и ↓0+16
Комментарии23

SObjectizer: от простого к сложному. Часть II

Время на прочтение12 мин
Количество просмотров3.7K
В первой статье речь шла о том, что такое SObjectizer. Во второй статье мы начали рассказывать как могут выглядеть агенты, почему, как и куда они эволюционируют. Сегодня мы продолжим этот рассказ, ещё более усложняя реализацию демонстрационных агентов. Заодно проверим надежность асинхронного обмена сообщениями.

В прошлый раз мы остановились на том, что операцию чтения содержимого файла с email-ом следует отдать на откуп отдельному IO-агенту. Давайте сделаем это и посмотрим, что получится.
Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии0

SObjectizer: от простого к сложному. Часть I

Время на прочтение13 мин
Количество просмотров6.3K

В первой статье мы рассказали о том, что такое SObjectizer и почему он получился именно таким. Во второй – попробуем показать, как может выглядеть более-менее реальный код на SObjectizer. С демонстрацией того, в какую сторону этот код обычно эволюционирует. Ибо первоначально, когда у разработчика появляется возможность работать с Actor Model, он начинает этой возможностью злоупотреблять, создавая проблемы и себе, и тем, кто будет эксплуатировать программный продукт, написанный в стиле «актор на каждый чих». Только спустя некоторое время и некоторое количество набитых шишек приходит понимание того, что прелесть модели акторов вовсе не в возможности создавать их десятками тысяч или даже просто тысячами. Но давайте пойдем последовательно, не опережая события.


Читать дальше →
Всего голосов 29: ↑26 и ↓3+23
Комментарии0

SObjectizer: что это, для чего это и почему это выглядит именно так?

Время на прочтение15 мин
Количество просмотров19K
Разработка многопоточных программ на C++ — это не просто. Разработка больших многопоточных программ на C++ — это очень не просто. Но, как это обычно бывает в C++, жизнь сильно упрощается, если удается подобрать или сделать «заточенный» под конкретную задачу инструмент. Четырнадцать лет назад выбирать было особенно не из чего, поэтому мы сами для себя сделали такой «заточенный» инструмент и назвали его SObjectizer. Опыт повседневного использования SObjectizer-а в коммерческом софтостроении пока не позволяет жалеть о содеянном. А раз так, то почему бы не попробовать рассказать о том, что это, для чего это и почему у нас получилось именно так, а не иначе…
Читать дальше →
Всего голосов 28: ↑27 и ↓1+26
Комментарии10

Информация

В рейтинге
1 765-й
Откуда
Гомель, Гомельская обл., Беларусь
Зарегистрирован
Активность