Функции передачи сообщений

Библиотека асинхронных агентов предоставляет несколько функций, которые позволяют передавать сообщения между компонентами.

Эти функции передачи сообщений используются с различными типами блоков сообщений. Дополнительные сведения о типах блоков сообщений, определенных средой выполнения параллелизма, см. в разделе "Асинхронные блоки сообщений".

Разделы

В этом разделе описываются следующие функции передачи сообщений:

отправка и asend

Функция параллелизма::send отправляет сообщение указанному целевому объекту синхронно, а функция параллелизма::asend отправляет сообщение указанному целевому объекту асинхронно. sendasend И функции ожидают, пока целевой объект не будет в конечном итоге принимать или отклонять сообщение.

Функция send ожидает, пока целевой объект не примет или отклонит сообщение, прежде чем он возвращается. Функция send возвращает true , если сообщение доставлено и false в противном случае. send Так как функция работает синхронно, send функция ожидает, пока целевой объект получит сообщение, прежде чем он возвращается.

И наоборот, asend функция не ожидает, пока целевой объект примет или отклонить сообщение, прежде чем он возвращается. Вместо этого функция возвращаетсяtrue, если целевой asend объект принимает сообщение и в конечном итоге принимает его. В противном случае возвращаетсяfalse, asend чтобы указать, что целевой объект либо отказался от сообщения, либо отложил решение о том, следует ли принимать сообщение.

[В начало]

получение и try_receive

Параллелизм ::получение и параллелизм:::try_receive функции считывают данные из заданного источника. Функция receive ожидает доступности данных, а try_receive функция возвращается немедленно.

Используйте функцию receive , когда данные должны продолжаться. Используйте функцию try_receive , если вы не должны блокировать текущий контекст или не должны продолжать данные.

[В начало]

Примеры

Примеры, использующие send функции и asendreceive функции, см. в следующих разделах:

[В начало]

См. также

Библиотека асинхронных агентов
Асинхронные блоки сообщений
Функция send
Функция asend
Функция получения
Функция try_receive