zoukankan      html  css  js  c++  java
  • 理解 select poll epoll

     

    举例说明:老师收学生作业,相当于应用层调用I/O操作。
     
    1、老师逐个收学生作业,学生没有做完,只能阻塞等待,收了之后,再去收下一个学生的作业。这显然存在性能问题。
     
    2、怎么解决上面的问题?
    老师找个班长,班长负责收作业,班长的做法是:遍历问学生作业写好了吗,写好的,收起来交给老师。休息一会,再去遍历。。。
    这个班长就是select。 
     
     
     
    这存在问题,
    1、这个班长还有一个能力问题,最多只能管理1024个学生。
    2、很多学生的作业没有写好,而且短时间写不好,班长还是不停地遍历去问,影响效率。
     
    3、怎么解决问题1班长的能力问题?
    换一个能力更强的班长,可以管理更多的学生,这个班长就是poll。
     
    4、怎么解决问题1、2,存在的能力问题和效率问题?
    换一个能力超级强的班长,可以管理无限多的学生,同时班长的做法是:遍历一次所有的学生,如果作业没有写完,告诉学生写好之后,放在一个固定的地方。这样的话,班长只需要定期到这个地方取作业就好了。这就是epoll。
  • 相关阅读:
    for 续1
    8 解决多线程对共享数据出错
    7 多线程 全局变量
    6 线程threading
    5 多进程copy文件
    4 进程间通信Queue [kjuː]
    3 进程池
    2 进程multiprocessing [mʌltɪ'prəʊsesɪŋ] time模块
    1 多任务fork Unix/Linux/Mac
    16 pep8 编码规范
  • 原文地址:https://www.cnblogs.com/java2016/p/5538018.html
Copyright © 2011-2022 走看看