• 选择器


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

     

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

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

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

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

    • Selector使用演示
     
     
  • 相关阅读:
    MyString
    Django疑难问题
    mysql 疑难问题-django
    python时间转换 ticks-FYI
    django建议入门-FYI
    Python风格规范-FYI
    scrum敏捷开发☞
    git基本命令
    centos下的安装mysql,jdk
    memcached for .net on windows
  • 原文地址:https://www.cnblogs.com/sherrykid/p/6009386.html
Copyright © 2020-2023  润新知