并发队列中的空虚互斥

时间:2014-03-20 09:34:54

标签: c++ thread-safety

根据安东尼威廉姆斯的说法" c ++并发行动" book,threadsafe_queue以这样的方式实现:

template<typename T>
class thredsafe_queue
{
public:
    ...
    bool empty() const
    {
        std::lock_guard(internal_mutex_);
        return data_queue_.empty();
    }
    ...
};

1。我的第一个问题是关于空调的内部锁定:  像这样的代码

while(our_threasafe_queue.empty())
     do_something()
无论如何,

线程安全,锁定在空呼叫内或没有;对于cource,我们可以使用外部互斥锁使其成为线程安全的。但内部锁定的目标仍不明确。

2。第二个是关于threadsafe_queue中公共空函数的权宜之计。

0 个答案:

没有答案