QT Thread

QT QSerialPort

QSerialPort只能在子线程中创建,操作放子类。
不同线程怎么跨线程操作不同变量?

不阻塞,事件响应实现同步。

同步操作:
send->recv->send->recv 也就是每一次需要等,并且以当前的状态不动。
响应不能改变当前状态。
电机转动->接收数据->下一次电机转动或是不转动

写在同步操作中,是一个函数,在线程中等接收。而电机转动或不转是函数写的逻辑决定的。

写在异步操作中,是主程序跑掉了,原来的程序状态没有了。再次接收到响应,回不到原来的逻辑。

结论是,需要像栈一样存储好原先的状态,功能响应仍然是回到这个功能函数中。

问题:主要功能调用子功能,子功能的进入会先响应子功能的状态,因为是异步的,执行完子函数,主函数也不会执行,卡在子函数的状态。
结束后,会直接结束,不恢复调用者的状态。故加上状态回复的功能。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值