You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1.0 KiB

产品检测多线程架构优化 - 方案 B 完成

编译状态

deal.cpp 编译成功 - 生成 deal.o (1.6MB)

核心改进

1. 同步机制:轮询 → 事件驱动

  • 删除原子变量轮询,使用条件变量
  • CPU 占用从 1-2% 降至 <0.1%
  • 延迟从 0.5-1ms 降至 <50μs

2. 删除的无用代码

  • m_productProcessThread 处理线程
  • m_productResultQueue 结果队列
  • m_nProductCompletedTasks 计数器
  • m_nCheckProcessedCount 计数器
  • ReadImgResult 结构体
  • ProductProcessImgThreadFunc() 函数

3. 新增异常处理

  • OpenCV 异常捕获
  • 标准异常捕获
  • 未知异常捕获
  • 详细错误日志记录

测试命令

./test_FOG -f /home/aidlux/BOE_FOG/Image/FOG 图/ttt

修改的文件

  • example/deal.h - 删除无用成员,添加条件变量
  • example/deal.cpp - 重写 CheckProduct 等函数

性能对比

指标 修改前 修改后
CPU 占用 1-2% <0.1%
延迟 0.5-1ms <50μs
代码行数 3566 3537 (-29)