• 3036阅读
  • 1回复

两个线程使用同一串口 [复制链接]

上一主题 下一主题
离线clannadzy
 

只看楼主 倒序阅读 楼主  发表于: 2015-06-06
我要写一个APP,这个APP是一个派生自QWidget类的子类,它有两个QThread类对象和我自己封装好的Port类.一个线程是用来发送数据的,另一个是用来后台不断接收数据的,以此实现两个线程分别对串口进行读写.Port类将会在QWidget被实例化,串口也将在QWidget被打开,然后再将Port对象分别传入两个线程.那么,问题来了,Port类里有个Buffer,这两线程操作Buffer时,要上锁吧?我这样的设计没问题吧?
离线realfan

只看该作者 1楼 发表于: 2015-06-11
Port对象要移到一个单独的线程中。
在发送线程调用发送函数,发送行为就运行在发送线程中
Port中,通过dataready触发读取数据,这个发生在Port对象所在线程中。
不同线程访问同一对象,应该加锁。
快速回复
限100 字节
 
上一个 下一个