SObjectizer е малък фреймворк, който улеснява разработката на сложни многопоточни приложения на C++. SObjectizer позволява на разработчика да строи своите програми на базата на асинхронен обмен на съобщения, използвайки подходи като Actor Model, Publish-Subscribe и CSP. Това е OpenSource проект с лиценз BSD-3-CLAUSE. Кратко впечатление за SObjectizer можете да получите от тази презентация.
Версия 5.6.0 е първият основен релиз на новата версия SObjectizer-5.6. Това означава също и завършване на развитието на версия SObjectizer-5.5, която се развиваше повече от четири години.
Тъй като версия 5.6.0 открива нова глава в развитието на SObjectizer, нововъведенията са доста малко в сравнение с промените и/или изтритото от SObjectizer. По-специално:
- използва се C++17 (по-рано бяхме в подмножество на C++11);
- проектът се премести и вече живее на BitBucket с официално, а не експериментално, огледало на GitHub;
- агентите вече нямат стрингови имена;
- подкрепата за синхронна комуникация между агентите беше премахната от SObjectizer (аналогът е реализиран в съпътстващия проект so5extra);
- подкрепата за ad-hoc агенти беше премахната;
- за изпращане на съобщения вече се използват само свободни функции send, send_delayed, send_periodic (старите методи deliver_message, schedule_timer, single_timer са премахнати от публичния API);
- функциите send_delayed и send_periodic вече имат единен формат независимо от типа на получателя на съобщението (независимо дали е mbox, mchain или препратка към агент);
- добавен е клас message_holder_t за улесняване на работата с предварително алокирани съобщения;
- премахнати са множество неща, които бяха отбелязани като deprecated още в версия 5.5;
- и още много други.
По-подробен списък на промените можете да намерите тук. Там също, в Wiki на проекта, можете да намерите документация за версия 5.6.
Архивите с новата версия на SObjectizer можете да изтеглите от BitBucket или от SourceForge.
PS. Специално за скептиците, които смятат, че SObjectizer не е нужен и не се използва. Това не е така.
Източник: linux.org.ru
