SObjectizer — это небольшой фреймворк для упрощения разработки многопоточных приложений на C++. SObjectizer позволяет создавать объекты-агенты, которые взаимодействуют друг с другом только посредством асинхронных сообщений. Сам SObjectizer берет на себя задачи диспетчеризации сообщений и предоставление агентам рабочего контекста для обработки получаемых сообщений.
Проект живет на
SourceForge, распространяется под 3-х секционной BSD-лицензией.
Версию 5.5.3 можно взять либо из
секции Files на SF, либо из
Svn-репозитория.
Если говорить кратко, что в версии 5.5.3:
чуть-чуть упрощено создание дочерних коопераций;
добавлена возможность работы с direct_mbox-ами ad-hoc-агентов (т.е. агентов, которые определяются «по месту», без создания отдельного C++ класса);
добавлена возможность выбора типа хранилища для подписок агентов;
добавлены новые примеры.
Если интересны подробности, то
сюда.
Для тех, кто больше любит смотреть слайды, есть пара
презенташек (для того, чтобы получить более полное представление об инструменте, лучше смотреть вторую, которая подлиннее).
N>Если интересны подробности, то сюда.
N>Для тех, кто больше любит смотреть слайды, есть пара презенташек (для того, чтобы получить более полное представление об инструменте, лучше смотреть вторую, которая подлиннее).
А почему в презентации сказано, что в проекте 12К строк кода а openhub показывает 500К?
В so-5.5 обнаружена ошибка, которая была исправлена в версии 5.5.3.1. Чуть подробнее
здесь.
Подготовлено еще одно подробное описание одного из примеров использования SObjectizer. В данном случае показывается, как может выглядеть работа с многопоточностью и использованием простой модели Publish-Subscribe:
Многопоточность и Pub-Sub с помощью SObjectizer.