大坡3D软件开发

关注3D软件技术

用户操作
[即时聊天] [发私信] [加为好友]
蔡军生ID:caimouse
1235008次访问,排名17好友254人,关注者406
C++,3D,VC++软件开发,写技术文章,操作系统开发
caimouse的文章
原创 602 篇
翻译 0 篇
转载 41 篇
评论 940 篇
蔡军生的公告

点击这里给我发消息

MSN: caimouse1976 at sina.com

最近评论
xavierye:发现另外一个源码分析blog,可以和楼主的一起看:
http://www.cnblogs.com/duguguiyu/archive/2008/10/02/1303095.html
xavierye:发现另外一个源码分析blog:
http://www.cnblogs.com/duguguiyu/archive/2008/10/02/1303095.html
shada:前面两个混帐,没资格评论开源。
用着盗版的Word写文章批评开源的人真不少。
shada:前面两个混帐,没资格评论开源。
用着盗版的Word写文章批评开源的人大有人在。
andylrj:Google的浏览器真差劲!!!体验一把真心说出,要做的事还很多,终于明白微软的IE为什么要做这么庞大了,做小确实不行!
文章分类
收藏
相册
3D引擎
第二人生
谷歌浏览器
开发板
历史回忆
常用连接
人生历程
存档
软件项目交易
订阅我的博客
XML聚合  FeedSky

原创 IOCP(完成端口)开发手记(4)收藏

新一篇: 视频开发实践(1) | 旧一篇: IOCP(完成端口)开发手记(3)

使用IOCP有什么优点呢?首先它是使用线程池的方法。在创建IOCP时,就要设置有多少并发线程。在调用CreateIoCompletionPort函数创建IOCP时,就要设置多少线程并发执行。如果设置NumberOfConcurrentThreads参数为0,就是让并发的线程数跟CPU个数一样。这样使用线程池,就可以不用在接收到连接时再创建任何新的线程,提供更高的响应速度。

其次,IOCP是内核的调用机制。它的优先级比较高,如果在调试程序时不小心,还是很容易死机的。我就在写错接收数据缓冲区的长度为0时,就死机了。

到目前为止,已经可让我这个IOCP完会运行起来,并且可以接收数据,发送数据。

如果不是想了解其具体的工作过程,可以直接使用ACE的封装好的类就OK了。在ACE中的IOCP,就是封装在ACE_WIN32_Wakeup_Completion类里面,它完全实现了所有IOCP的功能。想开发高性能的服务器,还是使用ACE比较方便,比较快速,所以我也没有必要更深入去做IOCP的封装了。

发表于 @ 2005年03月09日 11:41:00|评论(loading...)|编辑

新一篇: 视频开发实践(1) | 旧一篇: IOCP(完成端口)开发手记(3)

评论:没有评论。

发表评论  


当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
Csdn Blog version 3.1a
Copyright © 蔡军生