Класс, который позволяет отправить и опросить относительно данных между клиентом и рабочими
parallel.pool.PollableDataQueue
позволяет отправить и опросить относительно данных или сообщений между рабочими и клиентом в параллельном пуле, в то время как вычисление выполняется. Можно получить промежуточные значения и прогресс вычисления.
Чтобы отправить данные от параллельного рабочего пула назад клиенту, сначала создайте PollableDataQueue
в клиенте. Передайте этот PollableDataQueue
в parfor
- цикл или другое построение языка параллельного программирования, такое как parfeval
. От рабочих вызовите send
, чтобы передать данные обратно клиенту. В клиенте используйте poll
, чтобы получить результат сообщения или данных, отправленных от рабочего.
Можно вызвать send
от процесса, который вызывает конструктора при необходимости.
Можно создать очередь на рабочих и передать ее обратно клиенту, чтобы включить коммуникацию в обратном направлении. Однако вы не можете отправить очередь от одного рабочего другому. Используйте spmd
, labSend
или labReceive
вместо этого.
В отличие от всех других объектов указателя, экземпляры PollableDataQueue
действительно остаются связанными, когда они отправляются рабочим.
p
=
parallel.pool.PollableDataQueue
Конструктор для PollableDataQueue
не берет аргументов и возвращает объект, который может использоваться, чтобы отправить и опросить относительно сообщений (или данные) от различных рабочих. Вы вызываете конструктора только в процессе, где вы хотите получить данные. В обычном рабочем процессе рабочие не должны вызывать конструктора, но должны быть вручены существующий экземпляр PollableDataQueue
вместо этого.
parallel.pool. Объект PollableDataQueue имеет следующие методы.
опрос | Получите данные, отправленные от рабочего |
отправка | Отправьте данные от рабочего клиенту, использующему очередь данных |
Указатель. Чтобы изучить, как классы Handle влияют на операции копии, смотрите Копирование Объектов (MATLAB).
gcp
| labReceive
| labSend
| parallel.pool.DataQueue
| parfeval
| parfevalOnAll
| parfor
| poll
| send