IOCP的大虾们进来看看? 本帖最后由 VisualEleven 于 2011-11-14 14:33:58 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 据MSDN说BindIoCompletionCallback 关联一个线程池中的IO完成端口,但是线程池还是得自己维护的。 一直用boost::asio,微软的没用过 声明:没有用过IOCP,只是了解过。以下言论仅供参考实际两个并没有太多去吧,一个是啥事都得自己干,另外一个是很多事操作系统帮你干,然后让你来用。WINDOW内部实现了线程池的,也就是操作系统负责维护这个线程池。然后提供一些接口(函数),让你又几乎传入执行函数等。这个线程池可以先显示:1.异步的调用一个函数2.隔一段时间执行一个函数3内核对象触发时执行一个函数4.异步IO请求完成是来执行一个函数。4项符合你现在这种情况的。总结:内部原理和IOCP是一样的。 boost::asio这个很好,可惜没用过 Vista、Win7、Win2008系统用BindIoCompletionCallbackWin2003、XP、Win2000还是用CreateIoCompletionPort吧从Vista开始,系统内部的线程池性能有很大提升。BindIoCompletionCallback简单稳定,但回调函数在IO完成后才触发,较难控制(扩展难),CreateIoCompletionPort编程较复杂,但线程池自由调配,可以配合PostQueuedCompletionStatus实现一些自定义功能。 这个回答还算满意,顺便问下,我想对socket重用,可是经常在DisconnectEx时出现10057的错误,出现的概率在%20左右,在AcceptEx时出现10022的错误概率大约%30-40,是什么原因呢 Vista、Win7、Win2008系统用BindIoCompletionCallbackWin2003、XP、Win2000还是用CreateIoCompletionPort吧从Vista开始,系统内部的线程池性能有很大提升。 CView的OnLButtonDown 怎么获取到网页源文件 开发一个游戏是用mfc还是sdk比较好? 类似于WINAMP, 超级解霸等程式, 这种非标准窗口, 是怎么实现的? 高手幫忙; 自定義文件用IE打開? 视图切换(急用)在线等待 有什么区别?谁的性能更好? VC 如何实现弹出U盘和加载U盘 call stack unvailable while child is running 救命 简单么? 求解决一个win32显示窗口的问题 CString 数组这样对不对的啊,
实际两个并没有太多去吧,一个是啥事都得自己干,另外一个是很多事操作系统帮你干,然后让你来用。WINDOW内部实现了线程池的,也就是操作系统负责维护这个线程池。然后提供一些接口(函数),让你又几乎传入执行函数等。这个线程池可以先显示:
1.异步的调用一个函数
2.隔一段时间执行一个函数
3内核对象触发时执行一个函数
4.异步IO请求完成是来执行一个函数。
4项符合你现在这种情况的。
总结:内部原理和IOCP是一样的。
Win2003、XP、Win2000还是用CreateIoCompletionPort吧
从Vista开始,系统内部的线程池性能有很大提升。BindIoCompletionCallback简单稳定,但回调函数在IO完成后才触发,较难控制(扩展难),
CreateIoCompletionPort编程较复杂,但线程池自由调配,可以配合PostQueuedCompletionStatus实现一些自定义功能。
这个回答还算满意,顺便问下,我想对socket重用,可是经常在DisconnectEx时出现10057的错误,出现的概率在%20左右,在AcceptEx时出现10022的错误概率大约%30-40,是什么原因呢
Win2003、XP、Win2000还是用CreateIoCompletionPort吧
从Vista开始,系统内部的线程池性能有很大提升。