Описание тега message-passing

Передача сообщений - это механизм передачи данных, который используется в различных формах в ряде языков программирования.

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

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

  • Режим работы:

    • Синхронный (также называемый рандеву или квитированием): отправитель и получатель выполняют свои операции передачи одновременно. Возможно, им придется подождать, прежде чем передача станет возможной.
    • Асинхронный: отправителю разрешено передавать данные во временное место, где к ним может получить доступ получатель. Отправителю не нужно ждать, если доступно временное хранилище.
  • Обращение:

    • Прямое: отправитель и получатель ссылаются друг на друга напрямую, используя уникальные идентификаторы.
    • Косвенный: существует вспомогательный объект (канал), который соединяет отправителя и получателя, которые обращаются к каналу только во время передачи сообщения.