parfeval
Этот пример показывает, как можно использовать parfeval
, чтобы выполнить функцию в фоновом режиме и собрать результаты, когда они становятся доступными. В этом примере вы представляете вектор нескольких будущих запросов в цикле for и получаете отдельные будущие выходные параметры, когда они становятся доступными.
p = gcp(); % To request multiple evaluations, use a loop. for idx = 1:10 f(idx) = parfeval(p,@magic,1,idx); % Square size determined by idx end % Collect the results as they become available. magicResults = cell(1,10); for idx = 1:10 % fetchNext blocks until next results are available. [completedIdx,value] = fetchNext(f); magicResults{completedIdx} = value; fprintf('Got result with index: %d.\n', completedIdx); end
Got result with index: 1. Got result with index: 2. Got result with index: 3. Got result with index: 4. Got result with index: 5. Got result with index: 6. Got result with index: 7. Got result with index: 8. Got result with index: 9. Got result with index: 10.