mutex.cpp

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

CPP
48
字号
// 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/mutex.hpp>#include <boost/thread/thread.hpp>#include <iostream>boost::mutex io_mutex; // The iostreams are not guaranteed to be thread-safe!class counter{public:    counter() : count(0) { }    int increment() {        boost::mutex::scoped_lock scoped_lock(mutex);        return ++count;    }private:    boost::mutex mutex;    int count;};counter c;void change_count(){    int i = c.increment();    boost::mutex::scoped_lock scoped_lock(io_mutex);    std::cout << "count == " << i << std::endl;}int main(int, char*[]){    const int num_threads = 4;    boost::thread_group thrds;    for (int i=0; i < num_threads; ++i)        thrds.create_thread(&change_count);    thrds.join_all();    return 0;}

⌨️ 快捷键说明

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