我在嵌入式Linux上跑一个多线程多程序,其中一个线程是对串口进行读写,在启动其他计算量很大的线程后,串口读写出现问题,经常发生读写失败多情况。而且在计算量大的线程结束后,对串口读写的影响还是在。再重新运行后串口读写又正常。。。这是什么原因呢??求各位指点指点。。还有Linux的线程调度是什么机制的?有可能串口读写过程中出现,由于系统线程调度的原因造成读写失败吗?
串口通讯需要同步,你可以多线程将需要写入线程的数据放入缓冲区,然后一个线程负责写入。读取也一样。不用很多线程一起去写。