socketserver socketserver内部使用IO多路复用以及“多线程”和“多进程”,从而实现并发处理多个客户端请求的scoket服务端。即,每个客户端请求连接到服务器时,socket服务端都会在服务器是创建一个“线程”或“进程”专门负责处理当前客户端的所有请求。 ThradingTCP ...
分类:
其他好文 时间:
2017-11-06 13:16:29
阅读次数:
210
IO多路复用(select、poll、epoll)介绍及实现 IO多路复用中包括 select、pool、epoll,这些都属于同步,还不属于异步 一、IO多路复用介绍 1、select select最早于1983年出现在4.2BSD中,它通过一个select()系统调用来监视多个文件描述符的数组, ...
分类:
编程语言 时间:
2017-10-30 23:57:44
阅读次数:
487
近段时间开始学习《Unix网络编程》,代码实现了一个简单的IO多路复用+阻塞式的服务端,在学习了非阻塞式IO后,有一个疑问,即: 假如调用了select,并且关注了几个描述字,当关注的描述字可读时,select成果返回并告诉我对应套接口已可读,此时采用阻塞式read或非阻塞式read去读套接口有何区 ...
分类:
其他好文 时间:
2017-10-26 11:41:51
阅读次数:
240
协程和io多路复用的区别 都继承了相同的类 libevent.so 协程也可以理解是io多路复用 io多路复用更偏向io一点 协程是更上层的一种封装 偏向于函数的切换。 RabbitMQ 消息队列 1.单发送单接收 2.单发送多接收 3.广播、订阅模式 4.有选择的接收消息 Routing (按路线 ...
分类:
编程语言 时间:
2017-10-18 18:28:38
阅读次数:
294
多进程,进程queue,pipe管道,进程锁,进程池,协程,5种网络模式(阻塞io,非阻塞io,信号驱动io,io多路复用,异步io) 多进程 import multiprocessing 每个进程都会由他的父进程进行启动 windows中是pycharm linux中是 multiprocessi ...
分类:
编程语言 时间:
2017-10-18 17:36:19
阅读次数:
227
Python的Web框架中Tornado以异步非阻塞而闻名。本篇将使用200行代码完成一个微型异步非阻塞Web框架:Snow。 一、源码 本文基于非阻塞的Socket以及IO多路复用从而实现异步非阻塞的Web框架,其中便是众多异步非阻塞Web框架内部原理。 1 #!/usr/bin/env pyth ...
分类:
Web程序 时间:
2017-09-15 16:33:32
阅读次数:
284
200行自定义异步非阻塞Web框架 200行自定义异步非阻塞Web框架 Python的Web框架中Tornado以异步非阻塞而闻名。本篇将使用200行代码完成一个微型异步非阻塞Web框架:Snow。 一、源码 本文基于非阻塞的Socket以及IO多路复用从而实现异步非阻塞的Web框架,其中便是众多异 ...
分类:
Web程序 时间:
2017-09-15 10:04:50
阅读次数:
238
Python的Web框架中Tornado以异步非阻塞而闻名。本篇将使用200行代码完成一个微型异步非阻塞Web框架:Snow。 一、源码 本文基于非阻塞的Socket以及IO多路复用从而实现异步非阻塞的Web框架,其中便是众多异步非阻塞Web框架内部原理。 #!/usr/bin/env python ...
分类:
Web程序 时间:
2017-09-14 10:25:56
阅读次数:
224
epoll 或者 kqueue 的原理是什么? 【转自知乎】 Epoll 引入简介 首先我们来定义流的概念,一个流可以是文件,socket,pipe等等可以进行I/O操作的内核对象。 不管是文件,还是套接字,还是管道,我们都可以把他们看作流。之后我们来讨论I/O的操作,通过read,我们可以从流中读 ...
分类:
其他好文 时间:
2017-09-06 23:52:16
阅读次数:
194
socketserver SocketServer服务端内部使用 IO多路复用 以及 “多线程” 和 “多进程” ,从而实现并发处理多个客户端请求。即:每个客户端请求连接到服务器时,Socket服务端都会在服务器是创建一个“线程”或者“进 程” 专门负责处理当前客户端的所有请求。 一、sockets ...
分类:
编程语言 时间:
2017-09-06 11:43:01
阅读次数:
253