Асинхронный ввод / вывод и неравномерный вывод из узлов TBB - PullRequest
1 голос
/ 16 марта 2019

Я нахожусь в самом начале проекта, где я планирую использовать библиотеку Intel Threading Building Block, в частности, часть Flow Graph.

В связи с этим у меня есть два вопроса:

  1. Возможно ли иметь узлы, которые имеют асинхронные отношения ввода / вывода? Например, специальный буферный узел, который будет принимать некоторые данные и время от времени предоставлять некоторые выходные данные (например, вычисленная статистика)

  2. Возможно ли иметь узлы, которые отправляют разные сообщения последующим узлам? Другими словами, не простая передача.

1 Ответ

1 голос
/ 17 марта 2019

Tor,

В обоих случаях вам нужен узел multifunction_node. Узел будет получать входные данные как обычный function_node, и у него есть кортеж выходных портов, к которому вы можете подключиться (вы можете сделать так, чтобы кортеж имел один элемент.)

Узел получает сообщения, но действие, которое он предпринимает, не обязательно требует вывода сообщения.

Я не уверен во втором пункте, спрашиваете ли вы об отправке сообщений на разные узлы или отправляете разные типы сообщений на один и тот же узел. Если это последнее, вы можете использовать std::variant.

...