码迷,mamicode.com
首页 > 编程语言 > 详细

c++ std::thread + lambda 实现计时器

时间:2018-03-14 12:47:01      阅读:390      评论:0      收藏:0      [点我收藏+]

标签:play   use   std   read   AC   var   view   this   c++   

技术分享图片
 1 bool wait_for_wake = false;
 2 std::mutex process_mutex;
 3 std::condition_variable_any process_cond;
 4 std::unique_lock<std::mutex> lock(process_mutex);
 5 auto Timer = [&process_mutex, &process_cond](const int &wait_time) {
 6   std::this_thread::sleep_for(std::chrono::milliseconds(wait_time));
 7   process_cond.notify_one();
 8 };
 9 
10 // use
11 auto wait_time = 50; 
12 std::thread(Timer, wait_time).detach();
13 wait_for_wake = true;
14 
15 while (wait_for_wake) {
16   process_cond.wait(lock);
17   wait_for_wake = false;
18 }
View Code

 

c++ std::thread + lambda 实现计时器

标签:play   use   std   read   AC   var   view   this   c++   

原文地址:https://www.cnblogs.com/naiij/p/8566376.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!