/
BirdLeon
/
ROBLOX2016
Обзор
Документация
Войти
/
BirdLeon
/
ROBLOX2016
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
Library/boost/libs/thread/example/recursive_mutex.cpp
49 строк
1004 B
PatoFlamejanteTV
full source code
19 дек 2024, 19:11
19 дек 2024, 19:11
05db15d
Код
Авторство
О чём код?
// 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::unique_lock<boost::recursive_mutex> scoped_lock(mutex); count += val; return count; } int increment() { boost::unique_lock<boost::recursive_mutex> 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; }