完成端口详细解析.docVIP

  • 1
  • 0
  • 约2.75万字
  • 约 17页
  • 2020-01-28 发布于广东
  • 举报
精品文档 . 关于完成端口(IOCP)的文章汇总 - [ C/C++] 版权声明:转载时请以超链接形式标明文章原始出处和作者信息及 本声明 /logshtml 首先讨论一下I/O Completion Ports试图解决什么样的问题。 写一个IO Intensive服务器程序,对每一个客户请求生成一个新的child process/worker thread来处理,每个process/thread使用同步IO,这是最经典古老的解法了。在这之上的改进是prefork 多个process 或者使用线程池。(使用process或thread,原理都差不多,thread的context switch花销要比process switch要小。为了论述简单,下面只讨论线程。) 这种结构的并发性并不高,哪怕你用C++, C甚至汇编来写,效率都不会很高,究其原因,在于两点: 一.同步IO,每个线程大多数时间在等IO request的结束。IO相对于CPU,那是极极慢的。我翻了翻手里的Computer Architecture, A Quantitative Approach第二版,1996年出的,里面对CPU Register, CPU Cache, RAM, Disk,列的access time如下: Java代码 Registers:

文档评论(0)

1亿VIP精品文档

相关文档