从你的描述看,连 QCoreApplication::processEvents() 都用上了,几乎可以肯定是你的代码有问题。
可以弄个最新测试可运行代码,包含 CMakeLists.txt 等工程文件到 github 去。我可以给你诊断一下。
【 在 hengcuiyuan (远航) 的大作中提到: 】
: 我现在是多线程环境,通信程序在一个独立的线程里面,有点坑的是三菱的3E帧结构不含数据包的序列号的,所以我只能同步通信,我现在是只能一次通信完成之后再做下一次通信,信道被占用的时间里面就用QCoreApplication::processEvents去做事件处理。这种情况下,我发现:1
: 可能是我的代码真写的有问题,我现在是需要读的时候读,需要写的时候写,每次数据传输的报文很小,再加上多线程环境,又没法搞异步通信,特别凌乱。我打算简单点,直接设定定时器来读和写,读完写,写完读,一次性把所有的数据读或者写完,也许可以解决这个问题。
--
FROM 110.85.22.*