Здравствуйте, C.A.B, Вы писали: CAB>Есть такая штука, о которой я узнал из мира CUDA, называется «barrier synchronization». CAB>Суть в том, что третий блок ждёт пока будут получены оба сообщения, и только за тем складывает и ждёт следующие 2 сообщения.
Это как бы убивает весь эффект от параллелизма. Плюс к этому, вам надо существенно переписывать логику блоков.
Потому, что блок B может генерировать просто константу. В обычном случае у него просто GetValue() переписывается в return 1;. В реактивном случае ему надо "не забыть" сгенерировать нужное количество событий.
Опять же — а что делать, если блоку C скормить на вход блок A дважды? Он будет генерировать вдвое меньше сообщений, чем блок А?
В общем, схема сама по себе не плоха — просто надо понимать, что сопоставление её с классическим образцом затруднено.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.