C ++ / Boost线程IPC /标志检查

时间:2015-07-30 21:24:14

标签: c++ boost-thread thread-synchronization

所有

我是提升同步的新手,所以非常感谢下面代码的批评者。

可以在多线程环境中使用它吗?

很少有线程等到My_boost_event :: is_siagnaled()返回true。 "控制器"线程只是启动事件设置到"发出信号"状态。

谢谢。

class My_boost_event
{
private:
    boost::mutex mutex_;
    bool   m_signaled;

public:

    My_boost_event(bool signaled) : m_signaled(signaled)
    {
    }

    void set()
    {
        boost::mutex::scoped_lock lock(mutex_);
        m_signaled = true ;
    }

    void reset()
    {
        boost::mutex::scoped_lock lock(mutex_);
        m_signaled = false;
    }


    bool is_signaled()
    {
        boost::mutex::scoped_lock lock(mutex_);
        return m_signaled;
    }
};

0 个答案:

没有答案