读书人

初学者问 WaitForMultipleObjects的有

发布时间: 2012-09-20 09:36:51 作者: rapoo

菜鸟问 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过程后,自动设置该事件。

读书人网 >C++

热点推荐