send

Отправьте данные в DataQueue или PollableDataQueue

    Синтаксис

    Описание

    пример

    send(q,data) отправляет элемент данных со значением data очереди q.

    Примеры

    свернуть все

    В этом примере показано, как автоматически обработать данные в вашем текущем сеансе работы с 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

    Входные параметры

    свернуть все

    Очередь в виде parallel.pool.DataQueue или parallel.pool.PollableDataQueue объект.

    • Если q DataQueueИспользование afterEach автоматически обрабатывать данные, когда это получено в текущем MATLAB® сеанс.

    • Если q PollableDataQueueИспользование poll вручную получать данные после того, как это получено в текущем сеансе работы с MATLAB.

    Пример: q = parallel.pool.DataQueue

    Пример: q = parallel.pool.PollableDataQueue

    Данные, чтобы отправить в виде скаляра, вектора, матрицы или многомерного массива.

    Пример: send(q,"A message");

    Пример: send(q,magic(3));

    Введенный в R2017a