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

3个回答

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

lwjstc
惜愿 IOCP的使用,能找到的文章都是在描述服务器的套接字工作。这种使用方法确实很先进,因为 GetQueuedCompletionStatus 的返回值中还涵盖了结束退出的值。
4 年多之前 回复

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

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问