触发机制:1)水平触发;2)边缘触发

IO多路复用单线程实现并发,实现模块:1)select(效率最低); 2)poll;3)epoll(最好,nginx的实现)。linux下有这3种模块,windows下只有select模块

IO多路复用的好处:同时可以监听多个连接

IO多路复用的select模块触发机制:水平触发

PS:异步:整个过程中,不能有一丝的阻塞

client端:

import socketsk = socket.socket()
sk.connect(('127.0.0.1', 8801))while True:inp = input(">>>>")sk.sendall(bytes(inp, "utf8"))data = sk.recv(1024)print(str(data, 'utf8'))

server端:

import socket
import select
sk=socket.socket()
sk.bind(("127.0.0.1",8801))
sk.listen(5)
inputs=[sk,]
while True:r,w,e=select.select(inputs,[],[],5)for obj in r:#[sk,]if obj==sk:conn,add=obj.accept()print(conn)inputs.append(conn)else:data_byte=obj.recv(1024)print(str(data_byte,'utf8'))inp=input('回答%s号客户>>>'%inputs.index(obj))obj.sendall(bytes(inp,'utf8'))print('>>',r)

转载于:https://www.cnblogs.com/benchdog/p/9189647.html

python-IO多路复用,select模块相关推荐

  1. python io多路复用_【python】-- IO多路复用(select、poll、epoll)介绍及实现

    IO多路复用(select.poll.epoll)介绍及select.epoll的实现 IO多路复用中包括 select.pool.epoll,这些都属于同步,还不属于异步 一.IO多路复用介绍 1. ...

  2. linux IO多路复用 select epoll

    概念 IO多路复用是指内核一旦发现进程指定的一个或者多个IO条件准备读取,它就通知该进程 通俗理解(摘自网上一大神) 这些名词比较绕口,理解涵义就好.一个epoll场景:一个酒吧服务员(一个线程),前 ...

  3. python io多路复用_Python之IO多路复用

    一.IO模型介绍 ​ 同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non-blocking)IO分别是什么,到底有什么区别?这 ...

  4. 深入理解python中的select模块

    简介 Python中的select模块专注于I/O多路复用,提供了select poll epoll三个方法(其中后两个在Linux中可用,windows仅支持select),另外也提供了kqueue ...

  5. python select模块_深入理解python中的select模块

    简介 Python中的select模块专注于I/O多路复用,提供了select  poll  epoll三个方法(其中后两个在Linux中可用,windows仅支持select),另外也提供了kque ...

  6. IO多路复用select/poll/epoll详解以及在Python中的应用

    IO multiplexing(IO多路复用) IO多路复用,有些地方称之为event driven IO(事件驱动IO). 它的好处在于单个进程可以处理多个网络IO请求.select/epoll这两 ...

  7. Python异步非阻塞IO多路复用Select/Poll/Epoll使用

    来源:http://www.haiyun.me/archives/1056.html 有许多封装好的异步非阻塞IO多路复用框架,底层在linux基于最新的epoll实现,为了更好的使用,了解其底层原理 ...

  8. php io select,Python IO多路复用之——select方案服务端和客户端代码【python源码详解】...

    准备文件: IO.py  服务端代码 tcp_c.py 客户端代码 IO.py 代码: from select import * #引入 select 模块 from socket import * ...

  9. python -- IO多路复用

    python之路--IO模型 阅读目录 一 IO模型介绍 二 阻塞IO(blocking IO) 三 非阻塞IO(non-blocking IO) 四 多路复用IO(IO multiplexing) ...

  10. python io多路复用_python实现IO多路复用 --- selector

    IO多路复用 O多路复用技术是使用一个可以同时监视多个IO阻塞的中间人去监视这些不同的IO对象,这些被监视的任何一个或多个IO对象有消息返回,都将会触发这个中间人将这些有消息IO对象返回,以供获取他们 ...

最新文章

  1. Hibernate 中lazy的作用
  2. java中 set集合_第8篇 Java中的集合(Set)
  3. 修改了xml要不要重新起服务器,关于设置:Eclipse每次运行项目时都会修改server.xml(运行-在服务器上运行)...
  4. 手机浏览器网址_苹果手机怎么登两个微信
  5. 微信iOS 7.0.9版本更新:今天的朋友圈是一片欢乐的海洋!
  6. 又错过了暴富的机会!亚马逊AWS突发Bug,比特币现史诗级捡漏机会?
  7. 牛津英语3a_空中课堂 | 牛津英语3A学霸笔记 (全) 附3B
  8. vs2005常用快捷键_包括代码自动缩进
  9. Hadoop学习记录(6)|Eclipse安装Hadoop 插件
  10. cesium 文本标注被遮挡_Cesium-知识点(Viewer)
  11. java版的贪吃蛇。
  12. eclipse下properties配置文件中文乱码解决
  13. 虚拟机RedHat9.0挂载U盘
  14. 微机原理与接口技术实验
  15. 将多个Excel工作簿合并到一个Excel工作簿中
  16. 【无标题】timescale为传输预设时间,使用geo和meo,为什么程序最后的预设时间加3呢?
  17. 视频基本术语介绍 码流、帧率、分辨率、I帧、带宽
  18. app inventor调用图像识别_项目实战-图像识别项目-通过QT制作图形界面并调用百度AI进行图像识别(一)...
  19. JAVA下载和安装详细过程
  20. MBA案例分析: 美国西南航空的十年发展战略规划

热门文章

  1. 邮件实现详解(三)------邮件的组织结构
  2. 网上搜集第三方(一)
  3. 转:http2.0时代即将到来~~~~~
  4. 同事间竞争,你该如何对待?
  5. 巧用事件查看器维护服务器安全
  6. Intellectual Property Essentials for Start-Ups
  7. trl meaning genearlly we find 6
  8. target evaluations
  9. formal method lecture 7 文件系统
  10. .net standard 2.0与 .net4.0之间的关系?