首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

初学者问 WaitForMultipleObjects的有关问题

2012-09-20 
菜鸟问 WaitForMultipleObjects的问题Event WaitForMultipleObjects(3, port-m_hEventArray, FALSE, IN

菜鸟问 WaitForMultipleObjects的问题
Event = WaitForMultipleObjects(3, port->m_hEventArray, FALSE, INFINITE);
假设 port->m_hEventArray(0)标志读事件,线程在此处等待直到该事件发生。
该事件发生的意思是什么?是端口接收到字符自动的port->m_hEventArray(0)就变为有信号状态了吗?还是在WaitForMultipleObjects()函数之前我们手动的setevent(port->m_hEventArray(0))或是通过其他途径

[解决办法]

探讨
我不明白的地方是等待的事件什么情况下会发生,举个例子:比如是读操作这个事件,是缓冲区中收到字符,然后这个事件就被标为有信号状态吗;还是要我手动的setevent;还是readfile返回为true这个事件就被标为有信号状态?

[解决办法]
那个事件,你可以自己手动设置,调用setevent。

另外,在异步IO过程中,你会将该事件作为调用函数的参数(一般会封装在一个结构中)。
操作系统在完成IO过程后,自动设置该事件。

热点排行