exponenta event banner

labBroadcast

Отправка данных всем работникам или получение данных, отправленных всем работникам

Синтаксис

shared_data = labBroadcast(srcWkrIdx,data)
shared_data = labBroadcast(srcWkrIdx)

Аргументы

srcWkrIdx

labindex работника, отправляющего трансляцию.

data

Широковещательные данные. Этот аргумент требуется только для того работника, который ведет трансляцию. Отсутствие этого аргумента указывает на то, что работник получает.

shared_data

Широковещательные данные по мере их получения всеми другими работниками.

Описание

shared_data = labBroadcast(srcWkrIdx,data) отправляет указанное data для всех исполняющих работников. Данные передаются от работника с помощью labindex == srcWkrIdx, и принимается всеми остальными работниками.

shared_data = labBroadcast(srcWkrIdx) получает на каждом исполняющем работнике указанный shared_data которое было отправлено от работника, чей labindex является srcWkrIdx.

Если labindex не является srcWkrIdx, то вы не включаете data аргумент. Это означает, что функция заключается в приеме данных, а не в их широковещании. Полученные данные, shared_data, идентичен для всех работников.

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

Примеры

В этом случае вещателем является работник, чей labindex является 1.

srcWkrIdx = 1;
if labindex == srcWkrIdx
  data = randn(10);
  shared_data = labBroadcast(srcWkrIdx,data);
else
  shared_data = labBroadcast(srcWkrIdx);
end

Расширенные возможности

См. также

| |

Представлен до R2006a