在WIN32的C++多线程开发中的生产消费使用的同步方案中,一般会采用 条件变量,来做为等待判断的条件。
我在网狐的工作线程中看见了一种新的使用方法:
工作线程使用 GetQueuedCompletionStatus 等待事件触发。
生产线程使用 PostQueuedCompletionStatus 产生消息,另 GetQueuedCompletionStatus 触发执行。
我在网络中找资料,并没有关于多线程 同步使用 IOCP 完型端口的案例。
都是使用信号量,互斥,临界,事件,性能上临界的性能相对较优,我看了网狐的实现方式,这种采用 IOCP的方法反而是最简单的。
问题来了: 使用IOCP 作为生产消费的实现方案,有什么优势或者相关的资料呢?国内网络找到的都是清一色的网络编程的异步I/O。
多线程同步方案同步选择
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-