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

Для просмотра документации необходимо авторизоваться на сайте