1 import socket 2 import selectors # IO多路复用选择器 3 4 epoll_selector = selectors.EpollSelector() # 实例化选择器 5 server = socket.socket() # 实例化套接字 6 server.bi... ...
分类:
其他好文 时间:
2018-06-25 23:00:25
阅读次数:
287
select,poll,epoll都是IO多路复用的机制。 I/O多路复用就是通过一种机制,一个进程可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。 但select,poll,epoll本质上都是同步I/O,因为他们都需要在读写事件就绪后自己负责进行 ...
分类:
其他好文 时间:
2018-06-25 12:54:46
阅读次数:
164
多路复用IO(IO multiplexing) IO multiplexing这个词可能有点陌生,但是如果我说select/epoll,大概就都能明白了。有些地方也称这种IO方式为事件驱动IO (event driven IO)。我们都知道,select/epoll的好处就在于单个process就可 ...
分类:
其他好文 时间:
2018-06-20 18:58:27
阅读次数:
146
一、复习 1、进程、线程、协程 进程:是计算机中最小的资源分配单位,数据隔离,可以利用多核,数据不安全 线程:是计算机中最小的CPU调度单位,数据共享,GIL,数据不安全 协程:是线程的一部分,是由用户来调度,数据共享,数据安全 2、同步、异步、阻塞、非阻塞 异步:同时做不止一件事 同步:事情一件做 ...
分类:
编程语言 时间:
2018-06-20 18:53:39
阅读次数:
196
一 了解select,poll,epoll 二 selectors模块 这三种IO多路复用模型在不同的平台有着不同的支持,而epoll在windows下就不支持,好在我们有selectors模块,帮我们默认选择当前平台下最合适的 基于selectors模块实现并发的FTP 参考:链接: https: ...
分类:
其他好文 时间:
2018-06-20 18:44:12
阅读次数:
151
练习内容:socket,IO多路复用,Python selectors库,实现简单的群聊。 1.服务端代码 2.客户端代码 3.启动两个ipython模拟客户端 ...
分类:
编程语言 时间:
2018-06-17 00:12:27
阅读次数:
202
触发机制:1)水平触发;2)边缘触发 IO多路复用单线程实现并发,实现模块:1)select(效率最低); 2)poll;3)epoll(最好,nginx的实现)。linux下有这3种模块,windows下只有select模块 IO多路复用的好处:同时可以监听多个连接 IO多路复用的select模块 ...
分类:
编程语言 时间:
2018-06-16 10:31:01
阅读次数:
206
tornado-设计初衷 1. 追求小而精 2. epoll IO多路复用和协程 3. 支持WebSocket 4. 单线程程序(GIL限制,本身某种意义上不启动多线程就是单线程程序) # Python GIL介绍详情 tronado应用场景 1. 大量的http请求连接(大量的用户请求,要求并发性 ...
分类:
其他好文 时间:
2018-06-12 23:00:21
阅读次数:
235
IO 多路复用: 用户空间与内核空间: 操作系统的核心是内核,独立于普通的应用程序,可以访问受保护的内存空间,也有访问底层硬件设备的 所有权限;为了保证用户进程不能直接操作内核,操作系统将虚拟空间划分为两部分:1.内核空间,2.用 户空间,Linux将1G的空间划分为内核空间,3G的为用户空间 文件 ...
分类:
其他好文 时间:
2018-06-09 20:33:12
阅读次数:
153