C++ 使用Poco库的定时器
C++中我们想用定时器该怎么弄了,可以借助Poco强大的能力来完成。
Poco C++库是:
- 一系列C++类库,类似Java类库,.Net框架,Apple的Cocoa;
- 侧重于互联网时代的网络应用程序
- 使用高效的,现代的标准ANSI/ISO C++,并基于STL
- 高可移值性,并可在多个平台下可用
- 开源,并使用Boost Software License发布
- 不管是否商用,都完全免费
Poco库概览
特性:
- DynamicAny与Any类
- Cache框架
- 基于OpenSSL的密码系统
- 日期,时间类库
- 事件和通知框架
- FTP客户端
- 跨平台的文件系统类库
- HTML表单类库
- HTTP客户端和服务端(支持SSL),C++ 服务器页面编译器
- 日志框架
- 多线程框架(线程池,活动对象,工作队列等)
- POP3客户端类库
- 跨平台,一次编写,多平台编译和运行
- 进程管理和进程间通信类库
- 反射框架
- 基于PCRE的正则表达式
- SMTP客户端类库
- 数据库访问类库(SQLite,MySQL, ODBC)
- 支持SSL/TLS,基于OpenSSL
- 动态类库加载
- 先进的内存和指针管理(Buffer, Pool)
- Socket类库
- 网络数据流类库,支持Base64,HexBinary编解码,压缩等等
- 字符串格式化和其它字符串工具类库
- TCP服务器框架(多线程)
- 文本编码和转换
- Tuples
- URI支持
- 支持UTF8和Unicode编码
- UUID生成器
- XML生成和解析器
- Zip文件操作类库
Poco的使命
- Poco是一个强大的类库,并易于构建自己的应用程序
- Poco帮助你创建跨平台的应用程序(一次编写,多平台编译和运行)
- 模块化和可扩展,可应用于嵌入式到企业级程序
- 提供全面,易懂的编程接口
- 使用C++语言,快速且高效
- Poco崇尚简易
- 在设计,代码风格和文档上保持一致
- Poco强调代码质量,包括可读性,综合性,一致性,编码风格和可测试性
- Poco使得C++编程更加容易
指导方针
- 高度关注代码质量,编码风格,一致性,可读性
- 高度关注测试
- 注重实用性
- 基于现有的,可靠的组件开发
1、先用Vsiual编译Poco库,这个就不用多解释了,Poco里面有visualStudio的工程,千万不要使用MingW编译Poco库,这个比较麻烦,浪费时间还不一定成功。
Visual Studio中设置下Poco的include,lib以及可执行文件的路径
其代码如下:
#define _CRT_SECURE_NO_WARNINGS
#include
#include
#include
#include
#include <Poco/Timer.h>
#include <Poco/Thread.h>
#include <Poco/File.h>
#include<Poco/Timestamp.h>
class TestTimerExample
{
public:
void onTimer(Poco::Timer& t)//
{
std::cout << "每隔1秒打印1次" << std::endl;
}
};
int main(int argc, char* argv[])
{
TestTimerExample te;
Poco::Timer timer(1000, 1000); //1秒后开始,每隔1秒执行一次
timer.start(Poco::TimerCallback(te, &TestTimerExample::onTimer));
std::cout << "Hello World!\n";
std::this_thread::sleep_for(std::chrono::seconds(10));
}
执行结果如下: