Отправьте данные в DataQueue
или PollableDataQueue
В этом примере показано, как автоматически обработать данные в вашем текущем сеансе работы с MATLAB, который вы отправляете от фона.
Создайте DataQueue
объект. После того, как каждый элемент данных получен на DataQueue
в вашем текущем сеансе работы с MATLAB автоматически отобразите тот элемент с помощью disp
функция.
q = parallel.pool.DataQueue; afterEach(q,@disp);
Функция помощника magicWithSend
заданный в конце этого примера отправляет сумму магического квадрата к DataQueue
или PollableDataQueue
объект, затем возвращает тот магический квадрат.
Используйте parfeval
и backgroundPool
запускать функциональный magicWithSend
в фоновом режиме.
f = parfeval(backgroundPool,@magicWithSend,1,q,3);
Сумма отображена, прежде чем вы выберете выходные параметры от будущего. Чтобы получить выход из фона, используйте fetchOutputs
. MATLAB возвращает выходной параметр однажды выполнение magicWithSend
завершено.
fetchOutputs(f)
ans = 3×3
8 1 6
3 5 7
4 9 2
Задайте функцию помощника
Задайте функцию помощника magicWithSend
. Функция создает магический квадрат, затем отправляет сумму магического квадрата к DataQueue
или PollableDataQueue
объект. После того, как сумма отправляется, функция возвращает магический квадрат.
function X = magicWithSend(q,n) X = magic(n); s = sum(X,'all'); send(q,s); end
q
— Очередьparallel.pool.DataQueue
возразите | parallel.pool.PollableDataQueue
объектОчередь в виде parallel.pool.DataQueue
или parallel.pool.PollableDataQueue
объект.
Если q
DataQueue
Использование afterEach
автоматически обрабатывать данные, когда это получено в текущем MATLAB® сеанс.
Если q
PollableDataQueue
Использование poll
вручную получать данные после того, как это получено в текущем сеансе работы с MATLAB.
Пример: q = parallel.pool.DataQueue
Пример: q = parallel.pool.PollableDataQueue
data
— Данные, чтобы отправитьДанные, чтобы отправить в виде скаляра, вектора, матрицы или многомерного массива.
Пример: send(q,"A message");
Пример: send(q,magic(3));
afterEach
| poll
| parfor
| parallel.pool.DataQueue
| parallel.pool.PollableDataQueue
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.