/** * @brief 把数据压入队列,生产一个数据 * @param <x> <压入数据> * @exception <不会抛出任何异常> * @return <无> * @note <线程安全,可并发多次调用> * @remarks <无> */ void put(T &&x) { { AutoLock lock(mutex_); queue_.push_back(std::move(x)); } not_empty_.notify_one(); }
void put(const T &x) { { AutoLock lock(mutex_); queue_.emplace_back(x); } not_empty_.notify_one(); }