fetchOutputs

Извлечение всех выходных аргументов из Future

Синтаксис

[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

См. также

| |

Введенный в R2013b