mister.lv

导航

2016年11月3日 #

详解wait和waitpid函数

摘要: #include /* 提供类型pid_t的定义 */ #include pid_t wait(int *status) 进程一旦调用了wait,就立即阻塞自己,由wait自动分析是否当前进程的某个子进程已经退出,如果让它找到了这样一个已经变成僵尸的子进程,wait就会收集这个子进程的信息,并把它彻底销毁后返回;如果没有找到这样一个子进程,wait就会一直阻塞在这里,直到有一个出现为止。 参... 阅读全文

posted @ 2016-11-03 23:44 mister_lv 阅读(2182) 评论(0) 推荐(0) 编辑

epoll 反应堆

摘要: epoll反应堆模型 ================================ 下面代码实现的思想:epoll反应堆模型:( libevent 网络编程开源库 核心思想) 1. 普通多路IO转接服务器: 红黑树 ―― 添加待监听的结点 ―― epoll_ctl ―― EPOLLIN ―― fd ―― 监听 ―― epoll_wait ―― 返回满足监听事件的fd的总个数... 阅读全文

posted @ 2016-11-03 23:33 mister_lv 阅读(430) 评论(0) 推荐(0) 编辑

select 函数1

摘要: Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect、accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。可是使用Select就可以完成非阻塞(所... 阅读全文

posted @ 2016-11-03 22:40 mister_lv 阅读(209) 评论(0) 推荐(0) 编辑

排序算法

摘要: 概述排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。我们这里说说八大排序就是内部排序。 当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序序。 快速排序:是目前基于比 阅读全文

posted @ 2016-11-03 12:58 mister_lv 阅读(320) 评论(0) 推荐(0) 编辑