有没有在boost 1.48.0下使用互斥的最新例子?

der*_*khh 6 c++ multithreading boost mutex

我在网上找到的大多数例子都是过时的,使用了boost :: mutex,我没有宣布包括或者.有没有明确的例子说明如何在ver 1.48.0中使用boost :: mutex?第27章(线程)的教程非常不清楚,不提供任何代码示例.

And*_*hko 13

检查此示例(boost::mutex用法显示在Resource::use())中:

#include <boost/thread.hpp>
#include <boost/bind.hpp>

class Resource
{
public:
    Resource(): i(0) {}

    void use()
    {
        boost::mutex::scoped_lock lock(guard);
        ++i;
    }

private:
    int i;
    boost::mutex guard;
};

void thread_func(Resource& resource)
{
    resource.use();
}

int main()
{
    Resource resource;
    boost::thread_group thread_group;
    thread_group.create_thread(boost::bind(thread_func, boost::ref(resource)));
    thread_group.create_thread(boost::bind(thread_func, boost::ref(resource)));
    thread_group.join_all();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)