Re[8]: Почему Эрланг
От: so5team https://stiffstream.com
Дата: 05.06.15 10:52
Оценка:
Здравствуйте, BulatZiganshin, Вы писали:

BZ>и я не согласен с твоей идеей что в C++ можно использовать только акторы. зелёные потоки — это по сути короутины, выполняемые из пула потоков, с автоматическим yield. ближайшим их аналогом в C++ являются те же самые короутины с ручным yield. при этом логика программы остаётся понятной, и очевидно кого срубать при возникновении исключения.


У меня нет такой идеи. Даже в первом своем сообщении в этой теме в качестве примера фреймворка для C++ был приведен фреймворк Synca, который как раз сопрограммы и использует.

BZ>чем отличаются акторы от task parallelism, я пока не в курсе


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

Акторы могут принимать поток из разных типов сообщений, обработка которых может зависеть от состояния актора. Грубо говоря, актор может представлять из себя читатель MQ-шных топиков, откуда идут запросы check_client, money_reserve, money_transfer_begin, money_transfer_status, money_transfer_cancel и т.д. При этом актор может проконтролировать, что сейчас он перегружен, не способен нормально обслуживать заявки и на запросы, скажем check_client/money_reserve/money_transfer_begin будет отвечать специальным кодом ошибки "overloaded".
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.