博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
线程池之每隔一段时间调用一个函数
阅读量:5946 次
发布时间:2019-06-19

本文共 1085 字,大约阅读时间需要 3 分钟。

步骤:

  1、创建一个类似于void CALLBACK TimeoutCallBack(PTP_CALLBACK_INSTANCE pInstance, PVOID pvContext, PTP_TIMER pcbe)的函数

  2、CreateThreadpoolTimer

  3、SetThreadpoolTimer

  4、CloseThreadpoolTimer

理解:

  其实就是相当于一个可等待的内核对象,不可在实现上,采用了线程池的技术。

代码:

#include 
#include
using namespace std;void CALLBACK TimeoutCallBack( PTP_CALLBACK_INSTANCE pInstance, PVOID pvContext, PTP_TIMER pcbe){ cout << "线程ID:" << GetCurrentThreadId() << endl;}void main(){ PTP_TIMER pTimer = CreateThreadpoolTimer(TimeoutCallBack, NULL, NULL); SYSTEMTIME st; FILETIME ftLocal, ftUTC; LARGE_INTEGER liUTC; st.wYear = 2013; st.wMonth = 9; st.wDay = 26; st.wDayOfWeek = 0; st.wHour = 12; st.wMinute = 46; st.wSecond = 0; st.wMilliseconds = 0; SystemTimeToFileTime(&st, &ftLocal); LocalFileTimeToFileTime(&ftLocal, &ftUTC); liUTC.LowPart = ftUTC.dwLowDateTime; liUTC.HighPart = ftUTC.dwHighDateTime; SetThreadpoolTimer(pTimer, &ftUTC, 1000, 0); Sleep(2000); WaitForThreadpoolTimerCallbacks(pTimer, TRUE); CloseThreadpoolTimer(pTimer);}

 结果:

  

 

转载于:https://www.cnblogs.com/wang-can/p/3340591.html

你可能感兴趣的文章
save
查看>>
Android DrawLayout + ListView 的使用(一)
查看>>
clear session on close of browser jsp
查看>>
关于吃掉物理的二次聚合无法实现的需要之旁门左道实现法
查看>>
mysql出现unblock with 'mysqladmin flush-hosts'
查看>>
oracle exp/imp命令详解
查看>>
开发安全的 API 所需要核对的清单
查看>>
Mycat源码中的单例模式
查看>>
WPF Dispatcher介绍
查看>>
fiddler展示serverIP方法
查看>>
已释放的栈内存
查看>>
Android网络之数据解析----SAX方式解析XML数据
查看>>
Java递归列出所有文件和文件夹
查看>>
[关于SQL]查询成绩都大于80分的学生
查看>>
Delphi(Tuxedo,BDE,ADO)三合一数据集组件HsTxQuery
查看>>
LeetCode - Longest Common Prefix
查看>>
Android图片处理
查看>>
2015年第21本:万万没想到,用理工科思维理解世界
查看>>
大家谈谈公司里的项目经理角色及职责都是干什么的?
查看>>
剑指offer
查看>>