Отмените поставленное в очередь или рабочее будущее
cancel(F)
cancel(F)
останавливает и рабочие фьючерсы с очередями, содержавшиеся в F
. Никакие меры не приняты для законченных фьючерсов. Каждый элемент F
, который уже не находится в 'finished'
состояния, имеет свой набор свойств State
к 'finished'
, и его свойство Error
собирается содержать MException
, указывающий, что выполнение было отменено.
Запускайте функцию несколько раз, пока удовлетворительный результат не будет найден. В этом случае, массив фьючерсов, F
отменяется, когда результат больше, чем 0,95.
N = 100; for idx = N:-1:1 F(idx) = parfeval(@rand,1); % Create a random scalar end result = NaN; % No result yet. for idx = 1:N [~, thisResult] = fetchNext(F); if thisResult > 0.95 result = thisResult; % Have all the results needed, so break break; end end % With required result, cancel any remaining futures cancel(F) result
afterAll
| afterEach
| fetchNext
| fetchOutputs
| isequal
| parfeval
| parfevalOnAll