04 2016 档案

摘要:fork系统调用 fork调用的一个奇妙之处就是它仅仅被调用一次,却能够返回两次,它可能有三种不同的返回值: 1)在父进程中,fork返回新创建子进程的进程ID; 2)在子进程中,fork返回0; 3)如果出现错误,fork返回一个负值; fork出错可能有两种原因: 1)当前的进程数已经达到了系统 阅读全文
posted @ 2016-04-22 14:48 合唱团abc 阅读(287) 评论(0) 推荐(0) 编辑
摘要:SIGALRM信号:利用该信号的信号处理函数来处理定时任务 基于升序链表的定时器: 利用上述定时器链表来处理非活动连接: 高性能定时器: 1.时间轮 基于排序链表的定时器使用唯一的一条链表来管理所有定时器,插入操作的效率随着定时器数目的增多而降低,时间轮使用hash表的思想,将定时器散列到不同的链表 阅读全文
posted @ 2016-04-20 16:48 合唱团abc 阅读(363) 评论(0) 推荐(0) 编辑
摘要:http://www.cnblogs.com/ljygoodgoodstudydaydayup/p/3916760.html epoll的相关系统调用: epoll只有epoll_create,epoll_ctl,epoll_wait 3个系统调用 1. int epoll_create(int s 阅读全文
posted @ 2016-04-10 14:35 合唱团abc 阅读(371) 评论(0) 推荐(0) 编辑
摘要:select系统调用: 在一段时间内,监听用户感兴趣的文件描述符上的可读、可写和异常等事件 Select的函数格式: int select(int maxfdp,fd_set *readfds,fd_set *writefds,fd_set *errorfds,struct timeval*time 阅读全文
posted @ 2016-04-09 14:12 合唱团abc 阅读(363) 评论(0) 推荐(0) 编辑
摘要:I/O模型: 阻塞I/O:针对阻塞I/O执行的系统调用可能因为无法立即完成而被操作系统挂起,直到等待的事件发生为止。针对非阻塞I/O执行的系统调用总是立即返回,而不管事件是否已经发生,如果事件没有立即发生,这些系统调用返回-1,和出错的情况一样。显然只有在事件已经发生的情况下操作非阻塞I/O才能提高 阅读全文
posted @ 2016-04-07 15:05 合唱团abc 阅读(240) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示