社区
C++ 语言
帖子详情
怎么用 boost::asio 实现定时器的功能啊
LP2010
2011-10-14 09:08:52
大侠们好,请问谁用过boost::asio实现类似微软ontimer的功能,用准备C++实现的也可以。在此谢谢各位了
...全文
499
7
打赏
收藏
怎么用 boost::asio 实现定时器的功能啊
大侠们好,请问谁用过boost::asio实现类似微软ontimer的功能,用准备C++实现的也可以。在此谢谢各位了
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
konkoner
2013-04-11
打赏
举报
回复
#include <iostream> #include <boost/asio.hpp> #include <boost/bind.hpp> #include <boost/thread/thread.hpp> #include <boost/date_time/posix_time/posix_time.hpp> static void OnTimer(const boost::system::error_code& /*e*/, boost::asio::deadline_timer* t) { t->expires_at(t->expires_at() + boost::posix_time::microseconds(iWaitMicroSenconds)); t->async_wait(boost::bind(OnTimer, boost::asio::placeholders::error, t)); } main() { boost::asio::io_service io; boost::asio::deadline_timer t(io, boost::posix_time::microseconds(iWaitMicroSenconds)); t.async_wait(boost::bind(OnTimer, boost::asio::placeholders::error, &t)); boost::thread thread1(boost::bind(&boost::asio::io_service::run, &io)); ////io.run(); thread1.join(); }
yzhfirst1
2013-03-26
打赏
举报
回复
我也在找这么一个类,不知楼主解决了没,时间过去好久了啊!
LP2010
2011-10-14
打赏
举报
回复
补充:就是要实现服务器端,定时(如:30s)去做某件事的功能,还有其他方法可以实现吗?
一叶之舟
2011-10-14
打赏
举报
回复
帮项一下
不解之榬
2011-10-14
打赏
举报
回复
+1...帮顶
luciferisnotsatan
2011-10-14
打赏
举报
回复
没用过,帮顶
LP2010
2011-10-14
打赏
举报
回复
自己来 up 一下
INetwork 接口和 AsyncTcpServer 上下文,我将详细讲解
Boost
.
Asio
定时器
的用法,重点分析如何利用
boost
::
asio
::steady_timer 和
boost
:
我会提供详细的中文说明、示例代码、测试方法,以及 Visual Studio 2022 下的配置步骤(结合 vcpkg 和 CMake),确保代码与你的项目兼容。INetwork 接口和 AsyncTcpServer 上下文,我将详细讲解
Boost
.
Asio
定时器
的用法,重点分析如何利用
boost
::
asio
::steady_timer 和
boost
::
asio
::deadline_timer 在异步网络编程中
实现
超时、周期性任务(如心跳检测)等
功能
。一、
Boost
.
Asio
定时器
用法概览。
从 epoll 到
定时器
:全面解析
boost
::
asio
和 libevent 的性能与跨平台策略
在异步编程领域,`
boost
::
asio
` 和 `libevent` 是两个非常流行且
功能
强大的库。它们就像是两种不同品牌的多
功能
瑞士军刀,每个都有其独特的特点和优势:
boost
::
asio
::io_service::work
由于io_service并不会主动常见调度线程,需要我们手动分配,常见的方式是给其分配一个线程,然后执行run函数。但run函数在io事件完成后会退出,线程会终止,后续基于该对象的异步io任务无法得到调度。 解决这个问题的方法是通过一个
asio
::io_service::work对象来守护io_service。这样,即使所有io任务都执行完成,也不会退出,继续等待新的io任务。 boo...
doc/html/
boost
_
asio
/example/timers/time_t_timer.cpp
```cpp // // time_t_timer.cpp // ~~~~~~~~~~~~~~~~ // // Copyright (c) 2003-2010 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the
Boost
Software License, Version 1.0. (Se...
使用
boost
::quick_exit的示例程序
但是,需要谨慎使用
boost
::quick_exit,因为它可能会导致资源泄漏或其他不可预料的行为。在C++中,
boost
::quick_exit是一个函数,它用于立即退出程序,而不执行正常的程序终止处理程序。在本文中,我们将介绍如何使用
boost
::quick_exit,并提供一个相关的示例程序。选项用于演示
boost
::quick_exit的使用,它会在输出"Quick exit requested."之后立即退出程序。然后,我们可以编写一个简单的程序来演示
boost
::quick_exit的使用。
C++ 语言
65,214
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章