首页| 论坛| 消息

标题:两个线程使用同一串口
作者:clannadzy
日期:2015-06-06 18:18
内容:

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


#1 [realfan 06-11 08:43]
Port对象要移到一个单独的线程中。
在发送线程调用发送函数,发送行为就运行在发送线程中
Port中,通过dataready触发读取数据,这个发生在Port对象所在线程中。
不同线程访问同一对象,应该加锁。

回复 发表
主题 版块