Каковы варианты использования потока данных TPL через реактивные расширения (Rx)

Я специально собираюсь написать некоторые алгоритмы обработки сигналов в том или ином, или, возможно, в некоторой их комбинации.

Производительность не имеет большого значения, важнее ясность выражения намерений.

Я бы хотел реализовать следующие «блоки» и составить их:

  • Фильтры (как КИХ, так и БИХ)
  • Фазовые детекторы
  • Интеграторы
  • Смесители
  • Генератор функций
  • PLL (используя приведенное выше в качестве строительных блоков)

Я понимаю, что Rx можно рассматривать как «Linq-to-streams», а TPL - это абстракция над параллелизмом. Я также понимаю, что Rx внутренне использует TPL для управления своими асинхронными битами и что поток данных TPL добавляет TPL возможность компоновки.

Таким образом, оба являются асинхронными, оба являются компонуемыми, оба довольно высокого уровня (Rx moreso). Где следует использовать каждый из них, как в целом, так и в описанных выше пунктах обработки сигналов?

13
задан Cœur 4 April 2017 в 10:11
поделиться