У меня есть две программы (хост и ведомый), сообщающие через COM-порт. В простейшем случае хост отправляет команду ведомому и ждет ответа, а затем делает это снова. Но это означает, что каждая сторона должна ждать другую для каждой транзакции. Поэтому я использую очередь, поэтому вторая команда может быть отправлена до возвращения первого ответа. Это ускоряет работу.Задержка задержки очереди портов порта
Но мне нужен способ измерения использования очереди, чтобы в любое время было не более N пар команд/ответов на маршруте. Например, если N равно 3, я буду ждать отправки четвертой команды, пока не получу первый ответ, и т. Д. И он должен отслеживать, какой ответ идет с какой командой.
Одна мысль, которую я имел, - пометить каждую команду целочисленным модульным счетчиком, который также возвращается с ответом. Это гарантирует, что команда и ответ всегда будут правильно спарены, и я смогу выполнить сравнение по модулю, чтобы иметь возможность подсчитывать команды всегда N перед ответами.
Что мне интересно, есть ли лучший способ? Разве это не совсем обычная вещь?
(Я использую Python, но это не важно.)
спасибо. Это довольно обнадеживает. Теперь я посмотрю, смогу ли я его реализовать. – Harvey