Если вы избегаете распространенной ошибки написания вашей программы, как если бы вы использовали QBasic под MS-DOS, это обычно не проблема.
Элемент управления MSComm может использоваться асинхронно, вызывая события OnComm на входили ошибки.Делая это вместо записи состояния опроса Buzz-Loop (и еще хуже, вызывая DoEvents (), чтобы попытаться оставаться отзывчивым), можно устранить необходимость в явных рабочих потоках.сотни или даже тысячи одновременных соединений.Вы можете легко сделать то же самое для связи через последовательный порт, поскольку гораздо меньше «соединений» для обработки при гораздо более низких скоростях передачи данных.
Вам не нужен отдельный поток для каждой кнопки команды, а вточно так же вам не нужен поток для каждого элемента управления MSComm.