IO多路复用丶基于IO多路复用+socket实现并发请求丶协程
一丶IO多路复用 IO多路复用指:通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作 IO多路复用作用: 检测多个socket是否已经发生变化(是否已经连接成功/是否已经获取数据)(可读/可写) 操作系统检测socket是否发生变化有三种模式: select:最多1024个socket,循环去检测 poll:不限制监听socket个数,循环去检测(水平触发) epoll:不限制监听socket个数:回调方式(边缘触发). Python模块: select.select select.epoll Python中有一个select模块,其中提供了:select丶poll丶epoll三个方法,分别调用系统的select,poll,epoll从而实现IO多路复用 二丶基于IO多路复用+socket实现并发请求(一个线程100个请求) 当我们需要向百度发送请求搜索三个关键字,我们改怎么办呢? 单线程解决并发: 方式一: key_list = ['alex','db','sb'] for item in key_list: ret = requests.get('https://www.baidu.com/s?wd=%s'