zoukankan      html  css  js  c++  java
  • 选择器

    选择器允许单线程操作多个通道。如果你的程序中有大量的链接,同时每个链接的IO带宽不高的话,这个特性将 会非常有帮助。比如聊天服务器。 下面是一个单线程中Selector维护3个Channel的示意图: 

     

    要使用Selector的话,我们必须把Channel注册到Selector上,然后就可以调用Selector的selectr()方法。这个 方法会进入阻塞,直到有一个channel的状态符合条件。当方法返回后,线程可以处理这些事件。 
     
     
    • 使用Selector的好处

    使用更少的线程,减少了线程切换的损耗

    注意:现代操作系统和CPU对多任务的处理已经很完善了,多线程的影响也越来越小,如果CPU是多核的,不执行多任务反倒是浪费了机器的性能。

      不过这些设计上的讨论是题外话了。

    • Selector使用演示
     
     
  • 相关阅读:
    字符串-06. IP地址转换
    字符串-05. 字符串循环左移
    字符串-04. 字符串逆序
    BZOJ 3110
    UOJ 34 fft板子
    BZOJ 2716
    BZOJ 2243
    BZOJ 3697
    BZOJ 1176
    BZOJ 2599
  • 原文地址:https://www.cnblogs.com/sherrykid/p/6009386.html
Copyright © 2011-2022 走看看