不灭的焱

革命尚未成功,同志仍须努力

作者:php-note.com  发布于:2019-09-14 11:35  分类:Linux_C  编辑

select,poll,epoll都是IO多路复用的机制。I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,poll,epoll本质上都是同步I/O,因为他们都需要在读写事件就绪后自己负责进行读写,也就是说这个读写过程是阻塞的,而异步I/O则无需自己负责进行读写,异步I/O的实现会负责把数据从内核拷贝到用户空间。

作者:php-note.com  发布于:2019-09-14 10:51  分类:Linux_C  编辑

epoll特点好处:

  • 与 select,poll 一样,但是增加了对I/O多路复用的技术
  • 只关心“活跃”的链接,无需遍历全部描述符集合
  • 能够处理大量的链接请求(系统可以打开的文件数目)
作者:php-note.com  发布于:2019-09-10 23:27  分类:Linux_C  编辑

Linux 错误码大全(errno-base.h 和 errno.h)

作者:php-note.com  发布于:2019-09-08 23:33  分类:Linux_C  编辑
int accept(int s, struct sockaddr *addr, int *addrlen);

accept()用来接受参数s 的socket 连线。参数s 的socket 必需先经bind()、listen()函数处理过,当有连线进来时accept()会返回一个新的socket 处理代码,往后的数据传送与读取就是经由新的socket处理,而原来参数s 的socket 能继续使用accept()来接受新的连线要求。

作者:php-note.com  发布于:2019-09-07 18:17  分类:Linux_C  编辑

在C语言中,如果一些函数被频繁的调用,不断地用函数入栈,即函数栈,则会造成栈空间或者栈内存的大量消耗,为了解决这个问题,特别的引入了inline关键字,表示为内联函数。

作者:php-note.com  发布于:2019-08-10 15:52  分类:Linux_C  编辑

PHP扩展开发 资料收藏

作者:php-note.com  发布于:2018-12-26 10:09  分类:Linux_C  编辑
作者:php-note.com  发布于:2018-07-17 22:46  分类:Linux_C  编辑
作者:php-note.com  发布于:2017-12-13 14:43  分类:Linux_C  编辑

Memcached源码分析

作者:php-note.com  发布于:2017-12-11 22:47  分类:Linux_C  编辑

异步网络模型在服务开发中应用非常广泛,相关资料和开源库也非常多。项目中,使用现成的轮子提高了开发效率,除了能使用轮子,还是有必要了解一下轮子的内部构造。

这篇文章从最基础的5种I/O模型切入,到I/O事件处理模型,再到并发模式,最后以Swoole开源库来做具体分析,逐步深入。文中提到的模型都是一些通用的模型,在《Linux高性能服务器编程》中也都有涉及。文章不涉及模型的实现细节,最重要的是去理解各个模型的工作模式以及其优缺点。