/
BirdLeon
/
ROBLOX2016
Обзор
Документация
Войти
/
BirdLeon
/
ROBLOX2016
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
Library/boost/libs/thread/example/std_thread_guard.cpp
66 строк
1 KB
PatoFlamejanteTV
full source code
19 дек 2024, 19:11
19 дек 2024, 19:11
05db15d
Код
Авторство
О чём код?
// (C) Copyright 2009-2012 Anthony Williams // (C) Copyright 2012 Vicente Botet // // 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) #if __cplusplus < 201103L int main() { return 0; } #else #include <iostream> #include <string> #include <boost/thread/thread_only.hpp> #include <boost/thread/thread_guard.hpp> #include <thread> void do_something(int& i) { ++i; } struct func { int& i; func(int& i_):i(i_){} void operator()() { for(unsigned j=0;j<1000000;++j) { do_something(i); } } private: func& operator=(func const&); }; void do_something_in_current_thread() {} using thread_guard = boost::thread_guard<boost::join_if_joinable, std::thread>; void f() { int some_local_state; func my_func(some_local_state); std::thread t(my_func); thread_guard g(t); do_something_in_current_thread(); } int main() { f(); return 0; } #endif