zoukankan      html  css  js  c++  java
  • 来说说epoll+线程池

    来说说epoll+线程池 - 关中刀客的博客 - ITeye技术网站

    最近在作学习epoll,也看了很多的资料,关于epoll的原理就不多说了,很简单,需要注意的是,如果仅仅的采用epoll来处理网络服务器的话,感觉性能不会提高太大,毕竟io的处理相对于epoll或者poll的检测来说,时间消耗是比较多的。这个话说得可能比较的绕口,简单说就是你每次的epoll_wait所花费的时间,相对于你得到事件后所作的read,write==花费的时间要少狠多,至少我感觉是这样子的。所以如果真的需要提升性能的话,就需要epoll+线程池,但是问题就是,这个线程池怎么做呢?很多朋友的线程池是可以自我调整的,当没有了就自动地分配。我的看法是这样子没有什么必要吧(自己对linux系统本身没有什么深的理解)。感觉仿照iocp就不错了,当然,仿照是不可能的,iocp实现很复杂的。我们模仿他的流程和机制,适当的损失些性能(只要就是事件通知机制)还是可以接受的。另外一个最大的问题就是我们还是要让操作系统来帮助我们在底层来排队,而不是自己在上层来实现排队,主要是因为处理肯定没有epol_wait产生的速度快,这样子会造成中间的缓冲队列一直增大的。所以还是留给操作系统来帮助我们排队吧。至少目前我的cobra_linux就是这样子实现的。

    等有机会展示一下我的cobra_linux吧,虽然它现在还不是很完美。
  • 相关阅读:
    慕课前端入门-HTML5属性变化
    黑马jQuery教程4
    黑马jQuery教程3
    黑马JQuery教程2
    2017-03-15
    按钮图标化
    AES MFC实现
    CButtonST类简介使用方法
    VS资源编辑器常见错误RC1000到RC1208
    MFC单文档程序添加HTML帮助支持
  • 原文地址:https://www.cnblogs.com/lexus/p/2983530.html
Copyright © 2011-2022 走看看