作者:蓝形参链接:https://www.zhihu.com/question/20122137/answer/14049112来源:知乎 首先我们来定义流的概念,一个流可以是文件,socket,pipe等等可以进行I/O操作的内核对象。不管是文件,还是套接字,还是管道,我们都可以把他们看作流。之后 ...
分类:
其他好文 时间:
2020-02-14 19:02:41
阅读次数:
64
描述:requests是python的一个第三方HTTP(Hypertext Transfer Protocol,超文本传输协议)库,它比python自带的网络库urllib更加简单、方便和人性化;使用requests可以让python实现访问网页并获取源代码的功能;使用requests获取网页的源 ...
分类:
其他好文 时间:
2020-02-09 16:50:15
阅读次数:
57
1、 作者:匿名用户链接:https://www.zhihu.com/question/20795067/answer/16259037 能进行网络编程 1.如果你说你会select,epoll,iocp模型,那会让对方觉得更靠谱2.如果你说出你做过im,下载之类那会让对方来兴趣.3.如果你说设计了 ...
分类:
其他好文 时间:
2020-02-05 18:32:13
阅读次数:
300
华清直播:http://www.makeru.com.cn/live/5413_1937.html 深度理解select、poll和epoll Linux IO模式及 select、poll、epoll详解 ...
分类:
其他好文 时间:
2020-01-28 14:16:32
阅读次数:
66
一、poll机制的作用 1.poll机制的作用 在前面的使用中断的的方式来读取按键值( "linux 中断管理(四)" )。使用这种方式读取按键,如果按键没有按下的时候,应用程序会一直处于睡眠的状态。如果想要即使按键没有按下,在一定的时间后也能返回,要实现这种功能,可以使用 。( 和`epoll`也 ...
分类:
系统相关 时间:
2020-01-26 14:37:41
阅读次数:
125
1. 可以使用API从脚本运行Scrapy,而不是运行Scrapy的典型方法scrapy crawl;Scrapy是基于Twisted异步网络库构建的,因此需要在Twisted容器内运行它,可以通过两个API来运行单个或多个爬虫scrapy.crawler.CrawlerProcess、scrapy ...
分类:
其他好文 时间:
2020-01-17 22:57:22
阅读次数:
116
redis如此之快,整体来说原因如下 绝大部分请求是纯粹的内存操作(非常快速) 采用单线程,避免了不必要的上下文切换和竞争条件 非阻塞IO 内部实现采用epoll,采用了epoll+自己实现的简单的事件框架。epoll中的读、写、关闭、连接都转化成了事件,然后利用epoll的多路复用特性,绝不在io ...
分类:
其他好文 时间:
2020-01-16 22:05:04
阅读次数:
175
【遇到问题】 手头原来有一个单进程的linux epoll服务器程序,近来希望将它改写成多进程版本,主要原因有: 在服务高峰期间 并发的 网络请求非常海量,目前的单进程版本的程序有点吃不消:单进程时只有一个循环先后处理epoll_wait()到的事件,使得某些不幸排队靠后的socket fd的网络事 ...
分类:
其他好文 时间:
2020-01-16 14:23:20
阅读次数:
88
epoll详解 什么是epoll? epoll是为处理大批量句柄而作了改进的poll, 是性能最好的多路I/O就绪通知方法; 只有三个系统调用: epoll_create, epoll_ctl, epoll_wait; epoll_ctl - epoll的事件注册函数,它不同于select()是在监 ...
分类:
其他好文 时间:
2020-01-15 11:37:28
阅读次数:
76
epoll工作流程 首先,需要调用epoll_create创建epoll; 此后我们就可以进行socket/bind/listen; 然后调用epoll_ctl进行注册; 接下来,就可以通过一个while(1)循环调用epoll_wait来等待事件的发生; 然后循环查看接收到的事件并进行处理; 1) ...
分类:
其他好文 时间:
2020-01-11 00:25:16
阅读次数:
64