42 windows_42_Thread_WaitableTimer 线程 - 等候线程
2016-06-10 20:45
411 查看
windows_42_Thread_WaitableTimer 线程 - 等候线程
// windows_42_Thread_WaitableTimer.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include "windows.h"
HANDLE g_hTimer = NULL;
//等候线程
DWORD WINAPI TimerThread( LPVOID pParam )
{
while (true)
{
WaitForSingleObject( g_hTimer, INFINITE );
printf( "Hello Timer\n" );
}
}
VOID CALLBACK TimerAPCProc(
LPVOID lpArgToCompletionRoutine, // data value
DWORD dwTimerLowValue, // timer low value
DWORD dwTimerHighValue // timer high value
)
{
printf( "-------------APC TimerProc-------------\n" );
}
void APCTimer( )
{
//创建定时器
HANDLE hTimer = CreateWaitableTimer( NULL, FALSE, NULL );
//设置定时器
UINT64 nDueTime = -10000000;
SetWaitableTimer( hTimer, (PLARGE_INTEGER)&nDueTime, 1000, TimerAPCProc, NULL, FALSE );
while (true)
{
SleepEx( -1, TRUE );
}
//关闭句柄
CloseHandle( hTimer );
}
void Create( )
{
//创建定时器
g_hTimer = CreateWaitableTimer( NULL, FALSE, NULL );
//设置定时器
UINT64 nDueTime = -50000000;//百纳秒级别
SetWaitableTimer( g_hTimer, (PLARGE_INTEGER)&nDueTime/*转换成UINT64处理*/,
1000, NULL, NULL, FALSE );
//创建等候线程
DWORD dwThreadID = 0;
HANDLE hThread = CreateThread( NULL, 0, TimerThread, NULL,
0, &dwThreadID );
WaitForSingleObject( hThread, INFINITE );
//关闭定时器
CloseHandle( g_hTimer );
}
int _tmain(int argc, _TCHAR* argv[])
{
//Create( );
APCTimer( );
return 0;
}
[/code]
来自为知笔记(Wiz)
相关文章推荐
- Installation error: INSTALL_FAILED_NO_MATCHING_ABIS
- Installation error: INSTALL_FAILED_NO_MATCHING_ABIS
- openstack:安装 glance,执行glance index,Failed to show index. Got error
- “no public key available” while upgrading using update-manager
- hdu 2620 Ice Rain(数论)
- ssh client algorithm negotiation failed
- Maven: Failed to retrieve plugin descriptor error
- Syntax error, parameterized types are only available if source level is 1.5
- USACO Training Section 1.5(八皇后升级)
- 【 UVALive - 2197】Paint the Roads(上下界费用流)
- hdu 2674 N!Again(数论,水题)
- UltraISO 为ThinkPad品牌的X100e系列通过U盘来安装
- UVA-253-Cube painting
- 8Windows_paint2_bimap 位图
- 7Windows_paint GDI绘图
- LSI SAS1068 RAID 阵列卡图文配置教程
- fail2ban防暴力破解-ssh防爆力登录
- Service详解(四)——实现通信之AIDL
- #Paper Reading# Private traits and attributes are predictable from digital records of human behavior
- Studio 更新的时候提示Connection failed (connect timed out). Please check network connection and try again.