gpt4 book ai didi

python-3.x - python 选择器模块是做什么的,它是如何工作的?(python3)

转载 作者:行者123 更新时间:2023-12-03 11:52:57 29 4
gpt4 key购买 nike

我想知道selector module工作以及如何在套接字编程中使用它。 selector.register() 有什么作用?我已经搜索了很多但找不到任何东西,所以我无法绕开它。

最佳答案

选择器模块是围绕旧的 select 函数的更高级别的接口(interface)。 select 函数是 80 年代为 Unix BSD 4.2 OS 发明的,以及 Berkeley sockets 的其他部分。界面。作为套接字接口(interface)的其余部分,它现在仍在使用,以允许单个执行线程处理大量传入和传出连接 => 这是我所知道的使用有限资源处理大型网络吞吐量的最佳方式。

select 的底层engine 是呈现一个list 接口(interface)的就绪状态(读取和写入)。从那时起,应用程序(和应用程序程序员)有责任使用该信息仅在操作无法阻塞时读取或写入套接字。没那么难,但线程模型(每个连接一个执行线程)对人类来说更自然(除了上帝之外,大多数程序员都是这样)。

Python selector 模块在 select 上方提供了一个事件驱动的接口(interface):

  • 程序员注册了许多接口(interface),并且可以动态添加或删除套接字
  • 对于每个套接字,程序员声明当它准备好读取或写入时应该做什么

功能上它与旧的 select 模块完全相同。但它对所有 OOP 好东西和事件驱动模式更加程序员友好。习惯于用C语言编写select的老恐龙们可能会发现真的不值得学习一个新的界面。但恕我直言,事实是它允许编写更易于阅读和测试的代码。

关于python-3.x - python 选择器模块是做什么的,它是如何工作的?(python3),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47558270/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com