首页 > 编程语言 > 详细

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

时间:2018-03-14 12:05:56      阅读:428      评论:0      收藏:0      [点我收藏+]
技术分享图片
 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 实现计时器

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!