2 lwjstc lwjstc 于 2016.02.16 13:27 提问

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

3个回答

oyljerry
oyljerry   Ds   Rxr 2016.02.16 15:00

这看上去是API帮你做了同步处理。

lwjstc
lwjstc IOCP的使用,能找到的文章都是在描述服务器的套接字工作。这种使用方法确实很先进,因为 GetQueuedCompletionStatus 的返回值中还涵盖了结束退出的值。
接近 2 年之前 回复
zuishikonghuan
zuishikonghuan   2016.02.16 21:21
Mr_dsw
Mr_dsw   Ds   Rxr 2016.02.16 22:17

java中通过同步代码快或同步对象进行限制

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!