recursive_mutex.cpp

来自「Boost provides free peer-reviewed portab」· C++ 代码 · 共 50 行

CPP
50
字号
// Copyright (C) 2001-2003// William E. Kempf////  Distributed under the Boost Software License, Version 1.0. (See accompanying //  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)#include <boost/thread/recursive_mutex.hpp>#include <boost/thread/thread.hpp>#include <iostream>class counter{public:    counter() : count(0) { }    int add(int val) {        boost::recursive_mutex::scoped_lock scoped_lock(mutex);        count += val;        return count;    }    int increment() {        boost::recursive_mutex::scoped_lock scoped_lock(mutex);        return add(1);    }private:    boost::recursive_mutex mutex;    int count;};counter c;void change_count(){    std::cout << "count == " << c.increment() << std::endl;}int main(int, char*[]){    const int num_threads=4;    boost::thread_group threads;    for (int i=0; i < num_threads; ++i)        threads.create_thread(&change_count);    threads.join_all();    return 0;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?