2011年9月5日
摘要:
Microsoft Windows 提供了通过 WaitForMultipleObjects 方法及其变体对多个事件进行多路复用侦听的功能。这些函数功能强大,但不便于在动态事件列表中使用。困难在于事件信号用索引 标识在对象句柄数组中。当在该数组中间添加或删除事件时,此类索引将变换。通常,此类问题通过使用存储句柄的容器、包装数组并代表客户端应用程序执行插入、删除和查找来解决。本文将讨论此类容器类的设计和实现。容器存储 WaitForMultipleObjects 方法使用的事件句柄。容器类的用户通过数字 ID 引用各个句柄,在容器的生存期内,甚至在添加或删除事件时,该数字 ID 都不会更改。问题 阅读全文