MILOG_INFO("ImageInspectorRunner", "启动检测线程12"); while (true) { msleep(50); if (QThread::currentThread()->isInterruptionRequested()) { MILOG_INFO("ImageInspectorRunner", "停止检测线程"); return; } if (osignalp_.changep_) { return; } if (p_) { for (auto& inspector : p_->inspectors()) { msleep(5); if (!osignalp_.changep_) { // MILOG_INFO("ImageInspectorRunner", "success inspector.pos_flag()=" << inspector.pos_flag() << ";inspector_flag_=" << inspector_flag_); if (inspector.pos_flag() == inspector_flag_) { inspector.Inspect(); } } else { MILOG_INFO("ImageInspectorRunner" ,"inspector_flag_" << inspector_flag_ << "pos_flag_" << inspector.pos_flag()); } } } }
时间: 2024-02-14 20:08:36 浏览: 56
这是一段C++代码,它包含一个while循环,当QThread当前线程没有被请求中断时,会不断地执行循环体内的代码。循环体内的代码会调用msleep函数,使当前线程睡眠50毫秒。如果当前线程被请求中断,循环会被中止,输出一条日志信息,并返回。如果osignalp_的changep_成员变量被设置为true,也会中止循环并返回。如果变量p_不为空,则会遍历p_的inspectors(),对于每个inspector检查它的pos_flag()是否等于inspector_flag_,如果相等,则调用inspector的Inspect()函数进行检测。如果osignalp_的changep_被设置为true,则只输出一条日志信息。
阅读全文