Получите все выходные аргументы от будущего
[B1,B2,...,Bn] = fetchOutputs(F)
[B1,B2,...,Bn] = fetchOutputs(F,'UniformOutput',false)
[B1,B2,...,Bn] = fetchOutputs(F)
выборки все выходные параметры Future
объект F
после первого ожидания каждого элемента F
достигнуть 'finished'
состояния. Ошибка заканчивается если любой элемент
F
имеет NumOutputArguments
меньше, чем требуемое количество выходных параметров.
Когда F
вектор из FevalFutures, каждый выходной аргумент формируется путем конкатенации соответствующих выходных аргументов от каждого будущего в F
. Ошибка заканчивается, если эти выходные параметры не могут быть конкатенированы. Чтобы избежать этой ошибки, установите 'UniformOutput'
опция к false
.
[B1,B2,...,Bn] = fetchOutputs(F,'UniformOutput',false)
запросы, что fetchOutputs
объедините будущие выходные параметры в массивы ячеек B1,B2,...,Bn
. Выходные параметры F
может иметь любой размер или тип.
После вызова fetchOutputs
, все фьючерсы в F
имейте их 'Read'
набор свойств к true
. fetchOutputs
возвращает выходные параметры для всех фьючерсов в F
независимо от значения 'Read'
каждого будущего свойство.
Создайте FevalFuture и выберите его выходные параметры.
f = parfeval(@rand,1,3); R = fetchOutputs(f)
0.5562 0.6218 0.3897 0.0084 0.4399 0.2700 0.0048 0.9658 0.8488
Создайте вектор FevalFuture и выберите все его выходные параметры. Для КПД предварительно выделите массив будущих объектов прежде.
F(1:10) = parallel.FevalFuture; for idx = 1:10 F(idx) = parfeval(@rand,1,1,10); % One row each future end R = fetchOutputs(F); % 10-by-10 concatenated output