2008年8月17日
摘要: 完成端口程序的执行步骤: 1) 创建一个完成端口。第四个参数保持为0,指定在完成端口上,每个处理器一次只允许执行一个工作者线程。 2) 判断系统内到底安装了多少个处理器。 3) 创建工作者线程,根据步骤2 )得到的处理器信息,在完成端口上,为已完成的I / O请求提供服务。在这个简单的例子中,我们为每个处理器都只创建一个工作者线程。这是由于事先已预计到,到时不会有任何线程进入“挂起”状态,... 阅读全文
posted @ 2008-08-17 19:29 风荷小筑 阅读(5243) 评论(0) 推荐(2) 编辑
摘要: 3.1开始 完成端口听起来好像很神秘和复杂,其实并没有想象的那么难。这方面的文章在论坛上能找到的我差不多都看过,写得好点的就是CSDN.NET上看到的一组系 列文章,不过我认为它只是简单的翻译了一下Network Programming for Microsoft Windows 2nd 中的相关内容,附上的代码好像不是原书中的,可能是另一本外文书里的。我看了以后,觉得还不如看原版的更容易理解。... 阅读全文
posted @ 2008-08-17 19:29 风荷小筑 阅读(796) 评论(0) 推荐(0) 编辑
摘要: 这个内容在cnblogs中也讨论过很多次了,这两天大概看了一些资料,看到一些简单的性能指标拿出来和大家讨论一下。 Socket + Threads/ThreadPool 大概性能:小于1500个连接 实现:Accept一个Socket,就交给一个线程去管理,比较笨,但也比较有效,因为是同步方式,控制起来很方便。高级点的,就是交给一个线程池去管理,线程池由系统自动托管,省去了开销线程的时间。一般... 阅读全文
posted @ 2008-08-17 16:23 风荷小筑 阅读(2000) 评论(0) 推荐(0) 编辑
摘要: Overlapped I/O 完成例程要求用户提供一个回调函数,发生新的网络事件的时候系统将执行这个函数。 系统用WorkerRoutine函数处理接收到的数据。 Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> 1 #inclu... 阅读全文
posted @ 2008-08-17 11:40 风荷小筑 阅读(2025) 评论(0) 推荐(1) 编辑