VI обработчика сообщений в очереди в родительском SubVI, тип выполнения которого установлен как предварительно выделенный (?) - PullRequest
0 голосов
/ 14 мая 2018

Я создаю образец коммуникационного сервера через LabVIEW.enter image description here

В главном VI у меня есть сервер и клиенты: выполнение последнего устанавливается как предварительно выделенный повторный вход клона.Я использую обработчик сообщений в очереди для передачи сообщений и команд между сервером и клиентами.

На рисунке ниже показан клиентский VI (предварительно выделенное выполнение повторного входа в клон) с выделенными SubVI в очереди сообщений .В моем предыдущем вопросе я спросил о типе выполнения SubVI в клиентских VI (предварительно выделенных) и получил ответ, что SubVI также необходимо предварительно распределить.Но теперь мой вопрос касается VI шаблона обработчика сообщений в очереди.Должен ли я установить тип исполнения VI шаблона обработчика сообщений в очереди так же, как для родительского VI?

enter image description here

Спасибо

1 Ответ

0 голосов
/ 16 мая 2018

Мне кажется, что ВП обработчика сообщений с очередями имеют соответствующие настройки входа.

Например, Enqueue Message, который всегда должен выполняться быстро, не реентерабелен, но Dequeue Message, который ожидает сообщения, если его еще нет в очереди, является предварительно выделенным реентрантом клона.

Хорошо, что вы думаете об этом, поскольку ошибки синхронизации могут быть намного сложнее отследить, чем простые ошибки значения данных, но в большинстве случаев я думаю, что вы можете доверять разработчикам инфраструктуры, которые сделали правильный выбор.

Если вы действительно не удовлетворены этим и все еще беспокоитесь о том, что неправильная настройка повторного входа может вызывать у вас проблемы, вам не помешает изменить все эти ВП на предварительно выделенный повторный вход клонов. Если вы не используете эти ВП для передачи некоторой огромной структуры данных, дополнительная память, используемая предварительно выделенными клонами, должна быть небольшой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...