(Перефразированный вопрос и описание, чтобы быть совместимыми с S.O.)
Странно, что в C ++ пока нет широко распространенной, проверенной пэром библиотеки моделей акторов (порядка BOOST и STD). я вижу Терон, но это похоже на человека и его код: независимо от того, насколько он хорош, я бы не хотел, чтобы производственный код опирался на него.
Таким образом, как я могу программировать Actor Model на C ++ без использования непроверенных библиотек? Какие классы BOOST мне следует использовать?
Примечание: я задаю это перед лицом одного или двух предыдущих вопросов о С.О. они появляются, когда кто-то ищет «актер C ++», потому что у них было мало или нет тяги. Для ВИДА ОСТРОГО есть эта тема Но для C ++, даже один вопрос, который получил среднюю тягу этот парень, вопрос из пяти лет назад ответил указателем на неработающую ссылку!
libcppa может быть хорошим выбором. Выглядит лучше, чем Терон (который кажется мертвым — автор не ответил на мое письмо об обнаруженной мной ошибке). Также есть «форк» libcppa с именем Boost.Actor от того же автора. Вот. Так что, надеюсь, через пару лет у нас будет надлежащая, хорошо проверенная, проверенная реализация актера в Boost 🙂
Отсутствие ответа к настоящему моменту, по-видимому, подразумевает, что по состоянию на 2014 год в A ++ независимой от платформы системе Actor, прошедшей независимую экспертную оценку, не существует.
Если вы используете Microsoft VS, вы можете использовать Библиотека асинхронных агентов Microsoft
Существует также Библиотека Intel TBB FlowGraph, но глобальная доступность кажется сомнительной, поэтому неясно, насколько хорошо она будет работать в системах Android / Exynos / Snapdragon / etc или iOS / armv. Смотрите этот вопрос.
libcppa не рецензируется (пока), но разрабатывается рабочая группа по iNET на Гамбургский университет прикладных наук. Есть публикации окружающий его развитие, он включает в себя Benchmark Suite, и в настоящее время он находится в процессе предварительной отправки для Boost под именем Boost.Actor. Если вы хотите иметь в будущем систему актеров, прошедших экспертную оценку, пожалуйста, продолжайте и присоединяйтесь к обсуждению Ускоренная рассылка или дать Boost.Actor (короткий) обзор в новом Инкубатор ускоренной библиотеки.
Я согласен, что код должен быть рецензирован, и что такая библиотека для C ++ нужна. Я основал свой код на Theron, который я считаю довольно полным и очень эффективным, и с надлежащим C ++ API (намного лучше, чем libcppa). Эштон также всегда быстро отвечала на все мои запросы. Будем надеяться, что он скоро будет выпущен для других коммиттеров!
Недостатком Theron является то, что его механизм распределенной связи сломан, так как он был основан на XS, мертвом варианте ZeroMQ. Я нахожусь в процессе реорганизации коммуникационного механизма и собираюсь выпустить его обратно к Theron к маю 2015 года с полной поддержкой ZeroMQ. Таким образом, Терон, по крайней мере, должным образом проверен мной …
Я бы не советовал создавать свой собственный механизм Actor — это будет просто «другой человек с его кодом», как вы заявили. Было бы лучше, если бы у нас был правильный релиз Theron, над которым мы все могли бы работать.