receive

Извлечение сообщения из очереди

Синтаксис

Описание

пример

receive(message_name) извлекает вход или локальное сообщение из своей очереди приема. Если существует допустимое сообщение, receive возвращает true. Если допустимое сообщение не существует, но в очереди находится сообщение, график удаляет сообщение из очереди и receive возвращает true. Если допустимое сообщение не существует и в очереди нет сообщений, receive возвращает false.

Примеры

расширить все

Проверьте очередь сообщений M и увеличьте значение x если оба эти условия верны:

  • В очереди присутствует сообщение.

  • Значение данных сообщения равно 3.

Если сообщения нет или если значение данных не равно 3, то значение x не меняется. Если сообщение присутствует, удалите его из очереди независимо от значения данных.

during:
   if receive(M) && M.data == 3
      x = x+1;
   end

Stateflow chart that uses the receive operator.

Введенный в R2018b