摘要:
epoll对于select和poll改进确实不小,提供了三个函数:epoll_create(创建一个EPOLL链表); epoll_ctl(注册要监听的事件); epoll_wait(等待事件的产生); epoll在每次注册事件时,保证了每个fd描述符只会被拷贝一次,不会像select,poll重复 阅读全文
摘要:
core的信号处理方式 : 终止进程 + 产生core文件 当执行下面的代码后,会出现段错误: 通常在linux中为了调试,快速找到出现问题的地方,会产生一个core文件 但一般来说,如果没有经过配置,core 文件大小是0,必须先设置一下,通过ulimit -a可以查看到: 设置方法: 取消方法则 阅读全文
摘要:
多路IO之select 优点:单进程下支持高并发,可以跨平台 缺点:多次从内核到应用,应用到内核的数组拷贝; 每次内核都会重置填写的数据 最大支持1024客户端,原因在于fd_set定义使用了FD_SETSIZE,大小为1024; 以下是select模型server代码: 多路IO之POLL模型: 阅读全文
摘要:
管道(pipe),存在于有血缘关系的进程间通信,是一种半双工的方式,数据只能单向流动 有名管道(fifo),存在于没有血缘关系进程间通信,伪文件,在磁盘上大小永远是0,在内核中有一个对应的缓冲区,同样也是半双工通信 内存映射区(mmap),将磁盘文件的数据映射到内存,通过修改内存就能修改磁盘文件,适 阅读全文