|
@@ -203,6 +203,17 @@ public:
|
|
|
return item; // RVO 或移动构造函数会高效处理
|
|
|
}
|
|
|
|
|
|
+ void clear()
|
|
|
+ {
|
|
|
+ std::unique_lock<std::mutex> lock(mutex_);
|
|
|
+ // 等待直到队列不为空
|
|
|
+ cond_var_not_empty_.wait(lock, [this] { return !queue_.empty(); });
|
|
|
+ while(!queue_.empty())
|
|
|
+ {
|
|
|
+ queue_.pop();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* @brief 检查队列是否为空。
|
|
|
* @return 如果队列为空,返回 true;否则返回 false。
|