надо понимать что общение между потоками в Qt обычно тоже через сигнал слоты. Если поток делает полезную нагрузку а не просто эмитит сигнал когда новые данные доступны, то выносить все в отдельный поток имеет смысл
не, ну я согласен что можно считывать по 8байт и применять операцию факториала через сложение, и тут и потоки не спасут. Но как показывает практика - обработка потока СОМ на порядок дешевле чем перерисовывание состояния кнопочки. А поток (в данном случае) это только усложнение кода и внесение дополнительных ошибок и головной боли при отладке и синхронизации данных.
на моей практике ни разу не потребовалось пихать что-то в поток, хотя имею минимум 30ком портов за раз в каждом из которых идёт двунаправленная работа с переупаковкой данных. наоборот, приходилось изголяться по замедлению передачи данных чтоб компорт (на другой стороне) не захлёбывался и не начинал терять данные
ограничевается. но не смотря на выставление одной и тойж скорости на обоих концах иногда происходила потеря данных. видимо конкретная железка уже сама не поспевала за стандартом. да и наблюдал я это только на высших скоростях 115200, если задавал 9600 - потерь небыло.
ммм. сложно сказать, вроде около 50см. я по удалёнке с железом работаю. потери наблюдались начиная с 10-12байта стабильно, поэтому я стал их(пакеты) фрагментировать на 8 и меньше (если элемент пакета умещался в меньшее число) байт за раз.
у нас на сериал порте от Qt утилита сделана (делал не я), но я писал прошиву для кольцевой линии связи через 485 на нашем контроллере длина провода такая. PC —->usb-485 (200 метров) —>Controller —RS-485(1100m) —> device за час потерь нет скорость 115200-8-n-1 опрос через модбас 100 регистров (ригстры 2 байта)