可提醒 IO

//发送请求
//完成后,操作系统提醒我
//APC 是什么
//进程(工厂)->线程(工人)
			// APC机制  当工人闲的时候(前提)-》APC列表中的事情(自动执行)
//						线程为可提醒转态下
//    Wait   Sleep 正儿八经的 可提醒状态
//不好用  APC 不停止的定时器
VOID CALLBACK FileIOCompletionReadRoutine(
	_In_    DWORD        dwErrorCode,
	_In_    DWORD        dwNumberOfBytesTransfered,
	_Inout_ LPOVERLAPPED lpOverlapped
	)
{
	MessageBox(nullptr, L"read", L"read", MB_OK);
}
 //可提醒  IO  (串行模型)
{
	HANDLE hFile = CreateFile(TEXT("DEMO.txt"),
		GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ, nullptr, OPEN_ALWAYS, FILE_FLAG_OVERLAPPED, nullptr);
	if (hFile != INVALID_HANDLE_VALUE)
	{
		const UINT uLen = 255;
		BYTE bReadBuf[uLen] = { 0 };
		OVERLAPPED oRead = { 0 };
		ReadFileEx(hFile, bReadBuf, uLen, &oRead, FileIOCompletionReadRoutine);
		//因为线程还不是一个  提醒状态
		//SleepEx  Wait
		SleepEx(100, FALSE);
		SleepEx(100, TRUE);//当前  APC被执行
	//Do some
	}
	
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值