摘要:前言:如果调度策略失败,那么召唤出来的线程简直就是群魔乱舞#include <stdio.h>#include <pthread.h>#define BUFFER_SIZE 16 // 缓冲区数量struct prodcons{// 缓冲区相关数据结构int buffer[BUFFER_SIZE]; /* 实际数据存放的数组*/pthread_mutex_t lock; /* 互斥体lock 用于对缓冲区的互斥操作 */int readpos, writepos; /* 读写指针*/pthread_cond_t notempty; /* 缓冲区非空的条件变量 */pth 阅读全文
信号的阻塞
2012-06-13 10:59 by 放作夥, 2110 阅读, 0 推荐, 收藏, 编辑
摘要:信号的阻塞就是让系统暂时保留信号留待以后发送。(注意:不是不发送,而是延迟发送)一般情况下信号的阻塞只是暂时的,只是为了防止信号打断敏感的操作。1 信号集所有的信号阻塞函数都使用称作信号集的数据结构来表明受到影响的信号。每一个操作都包括两个阶段:创建信号集,传递信号集给特定的库函数。下面说明信号集和相关的数据类型:sigset_t:这个数据类型用来代表信号的集合,有两种方法对它进行初始化。一种是通过函数sigemptyset()使之不包含任何信号,然后用 sigaddset()函数加入需要的信号。另一种方法是通过函数sigfillset()使之包含所有信号,然后通过sigdelset()函数删 阅读全文
make简介
2012-06-11 17:12 by 放作夥, 382 阅读, 0 推荐, 收藏, 编辑
摘要:首先make可以简单甘分为make_zhi()同埋ni_make(a)两种带参数同埋不带参数嘅函数。博君一笑啫,切入正题。。。。make对Makefile进行处理,将距变成shell可执行嘅脚本,最后由shell解释器来执行有make翻译过嘅脚本。并且系翻译一句然后shell执行一句^-^ make中有潜规则:只要make看到一个.o文件,它就会自动甘把对应的.c文件加到依赖文件中,而且gcc-c.c都会被推导出来就好似/*makefile*/CC=gccOBJ=main.omytool1.omytool2.omake:$(OBJ)$(CC)-omain$(OBJ)main.o:mytool1 阅读全文