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