摘要: 筛质数进阶 之前筛质数程序创建了201个子进程,由于进程号有限,所以可以采用以下三种方法 1、分块法:将201个子进程分成N等份。eg:N=3,那么201个子进程平均分成3份 2.交叉分配法:将201个子进程依次分配给N个进程 3.进程池:用一个进程取质数,并将其丢给下边的线程或者进程处理质数 交叉 阅读全文
posted @ 2016-03-17 10:43 muzihuan 阅读(778) 评论(0) 推荐(0) 编辑
摘要: 普通单进程筛质数: eg: [root@localhost pro]# ./primer | wc -l 管道计数 记行数18[root@localhost pro]# time ./primer > /tmp/out real 0m1.059s用户的体验时间user 0m0.976ssys 0m0 阅读全文
posted @ 2016-03-17 09:59 muzihuan 阅读(438) 评论(0) 推荐(0) 编辑
摘要: 创建一个进程: 父子进程区别:fork的返回值不一样 pid不同 ppid不同 未决信号(未响应的信号)和文件锁不继承 资源利用量归0 init进程:是所有进程的祖先进程 1号进程 eg:简单创建一个子进程 不加fflus有两种结果 结果1: [root]# ./forkbase [3862]:be 阅读全文
posted @ 2016-03-16 15:38 muzihuan 阅读(1182) 评论(1) 推荐(1) 编辑
摘要: 包含头文件 opendir closedir readdir 例子: 阅读全文
posted @ 2016-03-15 15:09 muzihuan 阅读(305) 评论(0) 推荐(0) 编辑
摘要: 包含的头文件 glob函数 例子: 阅读全文
posted @ 2016-03-15 14:44 muzihuan 阅读(321) 评论(0) 推荐(1) 编辑
摘要: Makefile: [root] : make big [root] : ./big /tmp/out > 产生空洞文件 [root] : ls -l /tmp/out >查看空洞文件大小 cp命令是会检查文件是否是空洞文件,所以 [root] : cp /tmp/out /tmp/out1 >会发 阅读全文
posted @ 2016-03-14 14:13 muzihuan 阅读(504) 评论(0) 推荐(0) 编辑
摘要: 包含的头文件: 1.stat 2.fstat 3.lstat struct stat 结构体 阅读全文
posted @ 2016-03-14 13:31 muzihuan 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 原子操作:不可分割的操作 原子:不可分割的最小单位 原子操作的作用:解决竞争和冲突 功能:复制一个文件描述符 dup:不是原子操作 dup2:是原子操作 If oldfd is not a valid file descriptor, then the call fails, and newfd i 阅读全文
posted @ 2016-03-11 16:40 muzihuan 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 临时文件关键点如下: 1.如何保证不冲突。 2.及时销毁 :造成内存吃紧,也会导致问题1增大冲突的可能性。 功能:create a name for a temporary file创建一个临时文件 返回值:返回一个指向临时文件的指针 缺陷:不是原子操作(产生名字,再创建文件) 建议不使用这个函数: 阅读全文
posted @ 2016-03-10 16:52 muzihuan 阅读(453) 评论(0) 推荐(0) 编辑
摘要: list.h #ifndef LIST_H__ #define LIST_H__ struct list_head { struct list_head *prev ; struct list_head *next ; }; #define LIST_HEAD_INIT(name) { &(name 阅读全文
posted @ 2016-03-03 17:21 muzihuan 阅读(306) 评论(0) 推荐(0) 编辑