multithreading - 如果在多线程应用程序上运行,串行端口会变慢
问题描述
我创建了一个显示一些传感器相关值的前端 gui。这个前台gui还启动了三个不同的线程。
- 使用分隔符作为 b'\n\r' 从串行端口读取传入数据并触发事件
- 处理串口线程捕获的输入,执行一些算术运算和触发事件。
- 收集处理后的数据并更新 gui。
现在我的串口以 9600 波特运行,预计每 200 毫秒捕获 40 字节的数据。
这里的问题是,如果我同时运行所有这 3 个线程,串行端口线程会变慢并且无法跟上传入的数据流量。我已经使用 .inwaiting() 检查了这一点。但如果我不启动进程并更新 gui 线程,串行端口似乎工作正常。
对于 GUI,我使用 tkinter 和串行,pyserial。
那么,可以与 gui 接口一起运行的线程数是否有任何限制?如果有人对这个问题有更好的解决方案,请告诉我。
解决方案
推荐阅读
- jolokia - Metricbeat Jolokia jmx 映射
- angular - 使用动态ngrx 选择器或ngrx 动作以获得更好的性能?
- c# - 在创建创建、编辑时,实体类型 Order 不是当前上下文模型的一部分
- php - 如何在 laravel 5 中插入和更新图像 Summernote
- r - 基于主要复制现有行向小标题添加行
- python - 有什么方法可以读取 get 请求中重定向的 url?
- python - 在 pandas 数据框中转换具有许多工作表(在 shett 名称中带有空格)的 excel 文件
- react-native-android - 如何使用“expo start”修复错误“找不到模块”
- vb.net - 编译后需要自动安装服务
- javascript - 如何使用输出值来显示或隐藏相同的组件?