multithreading - 分段错误,有时在 beaglebone black debian OS 中无法清除队列
问题描述
我使用三个不同的线程从socket CAN raw读取can消息并将can消息写入另一个socket CAN raw,每2秒读取的消息被放入队列并从另一个线程的队列中检索,使用互斥线程函数,这个想法是每 2 秒写入一次 CAN 消息作为读取。但是 CAN 消息每 0.3 毫秒通过不断地从队列中检索来写入。当仅每 2 秒读取一次消息并将其放入队列时,因此将检索到的消息排队并不会被删除并且在队列中保持停滞状态。每次我尝试增加 msgsize 时,程序都会显示分段错误或被操作系统自动杀死。我该如何调试这个问题。请帮忙,谢谢
解决方案
推荐阅读
- bash - 如何将大输出存储在bash脚本的变量中
- python - 获取调用中的 aiohttp ClientSession 错误:看到的标头字节太多;返回检测到的溢出
- python - Flask SSE 无法连接到事件流。Redis 正在运行吗?
- javascript - 将元素添加到页面而不重新渲染已添加的元素
- python - Docker 运行 IOError:[Errno 2] 没有这样的文件或目录:'/media/test2/diversity/file1'
- psycopg2 - 什么会导致 extras.execute_values 超时?
- azure - 为什么 Azure Blob 存储返回 201,但不上传?
- python - 当两个条件都满足时,如何让 Discord Bot 做出响应?
- python - Python:从带有分隔符“\”的表中选择列
- bash - 如何使用 bash 参数替换来删除“./”?