Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Библиотека асинхронных агентов предоставляет несколько функций, которые позволяют передавать сообщения между компонентами.
Эти функции передачи сообщений используются с различными типами блоков сообщений. Дополнительные сведения о типах блоков сообщений, определенных средой выполнения параллелизма, см. в разделе "Асинхронные блоки сообщений".
Разделы
В этом разделе описываются следующие функции передачи сообщений:
отправка и asend
Функция параллелизма::send отправляет сообщение указанному целевому объекту синхронно, а функция параллелизма::asend отправляет сообщение указанному целевому объекту асинхронно.
send
asend И функции ожидают, пока целевой объект не будет в конечном итоге принимать или отклонять сообщение.
Функция send ожидает, пока целевой объект не примет или отклонит сообщение, прежде чем он возвращается. Функция send возвращает true , если сообщение доставлено и false в противном случае.
send Так как функция работает синхронно, send функция ожидает, пока целевой объект получит сообщение, прежде чем он возвращается.
И наоборот, asend функция не ожидает, пока целевой объект примет или отклонить сообщение, прежде чем он возвращается. Вместо этого функция возвращаетсяasend, если целевой true объект принимает сообщение и в конечном итоге принимает его. В противном случае возвращаетсяasend, false чтобы указать, что целевой объект либо отказался от сообщения, либо отложил решение о том, следует ли принимать сообщение.
[В начало]
получение и try_receive
Параллелизм ::получение и параллелизм:::try_receive функции считывают данные из заданного источника. Функция receive ожидает доступности данных, а try_receive функция возвращается немедленно.
Используйте функцию receive , когда данные должны продолжаться. Используйте функцию try_receive , если вы не должны блокировать текущий контекст или не должны продолжать данные.
[В начало]
Примеры
Примеры, использующие send функции и asendreceive функции, см. в следующих разделах:
Практическое руководство. Реализация различных шаблонов "источник-приемник"
Практическое руководство. Предоставление рабочих функций классам call и transformer
Практическое руководство. Использование преобразователя в конвейере данных
Практическое руководство. Отправка сообщений через определенные интервалы
Практическое руководство. Использование фильтра блоков сообщений
[В начало]
См. также
Библиотека асинхронных агентов
Асинхронные блоки сообщений
Функция send
Функция asend
Функция получения
Функция try_receive