juhamwang 2022-04-08 09:27 采纳率: 88.9%
浏览 42
已结题

python 进程间实时传输数据问题

正在折腾用python来写一个跑步计圈系统,遇到一个进程数据传递问题
问题相关代码,请勿粘贴截图
首先说明我是一个业余爱好者,正职是一名体育老师,由于学校场地原因,田径场只有160米一圈,所以人工去记录学生跑圈数是一件比较难的问题,所以想用python 写一个系统来解决这问题,硬件方面我已经购买了rfid超高频读写器和一些电子便签,这足够我在田径场第一二道的读写距离了.这是前提
我用pyqt5写ui界面,里边包括秒表、循环读串口数据、数据库展示、还有一些小控件
遇到的问题是,读取串口数据跟秒表同一进程会出现卡死ui界面的现象,所以我就运用多进程,问题所在就是进程间通信,我把秒表独立一个进程,要是把秒表跟其他小控件一个进程会出现秒表迟缓不准现象,接着就是把此时此刻秒表的秒数实时的传输到读取串口数据的进程中,我用queue来完成这操作,发现传输过来的秒数跟接收到的并加入到此时此刻的串口数据列表当中时秒数也是有点迟缓,同时queue是队列方式,也就是说拿到的秒数是队伍后面的数据,导致迟缓的产生。
我想要达到的结果:能不能是实时秒表的这变量能实时传输到rfid串口数据进程里面去,而不是queue那种队列方式,用一个数据删除一个数据同时也不是最新的数据。。
  • 写回答

1条回答 默认 最新

  • ~白+黑 Python领域新星创作者 2022-04-08 10:12
    关注

    就是每个学生你给贴个标签,然后通过rfid,接收数据,解析出跑步距离和时间?我不知道你得迟缓有多大,但是这种底层的即时通讯python不太适合,不可能太精确,影响因素比较多,rfid也是串口传输数据,queue也有先进先出后进先出,串口传出来的数据迟缓,基本没办法解决,硬件,信号问题都有可能,如果你数据不是跟界面分离的,而是写在gui里面的,gui的反馈刷新也会是性能的瓶颈,另外还要考虑你一次多少个学生一起跑,线程开的太多,切换也是开销,

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 4月26日
  • 已采纳回答 4月18日
  • 创建了问题 4月8日

悬赏问题

  • ¥150 如图所示配置eNSP
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥15 键盘指令混乱情况下的启动盘系统重装