C++:详解C++11 线程(一):实现简易定时器的示例代码

文章介绍了使用C++11标准库实现的一个简易定时器类,该类支持周期性和单次延时任务执行。通过创建线程、原子变量和条件变量来管理定时任务的启动、停止和同步。

简易定时器代码

一:定时器原理

实现定时器原理很简单

1:创建一个线程
2:在线程里等待
3:等待指定时长后做任务

这里用 C++11实现一个简单易用的定时器,它包含两种模式

  • 周期性定时任务执行
  • 单次延时任务执行

#include <functional>
#include <chrono>
#include <thread>
#include <atomic>
#include <memory>
#include <mutex>
#include <condition_variable>
#include <iostream>

class Timer
{
   
   
public:
 Timer(): _expired(true), _try_to_expire(false)
 {
   
   }

 Timer(const Timer& timer)
 {
   
   
 _expired = timer._expired.load();
 _try_to_expire = timer._try_to_expire.load();
 }

 ~Timer()
 {
   
   
 stop();
 }

 void 
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值