发布时间:2015-12-10 11:24:16
void的含义void即“无类型”,void *则为“无类型指针”,可以指向任何数据类型。void指针使用规范①void指针可以指向任意类型的数据,亦即可用任意数据类型的指针对void指针赋值。例如:int * pint;void *pvoid;pvoid = pint; /* 不过不能 pint= pvoid; */如果要将pvoid赋给其他类型指针,则需要强.........【阅读全文】
发布时间:2015-12-06 16:02:46
一个线程的结束有两种途径,一种是象我们下面的例子一样,函数结束了,调用它的线程也就结束了;另一种方式是通过函数pthread_exit来实现。另外需要说明的是,一个线程不能被多个线程等待,也就是说对一个线程只能调用一次pthread_join,否则只有一个能正确返回,其他的将返回ESRCH 错误。在Linux中,默认情况下是在.........【阅读全文】
发布时间:2015-12-06 15:39:40
#include <stdio.h>#include <unistd.h>#include <string.h>#include <stdlib.h>#include <pthread.h>#define MAX_ITEM 3 /* 每次最多取三个任务 */typedef struct job * Job;/* 链表结点结构 */struct job{pthread_t tid; /* 线程ID */Job next; /* 下一个链表结点 */int val; /* 结点值 */};pthread_mut.........【阅读全文】
发布时间:2015-06-16 15:56:50
#include <sys/types.h> /* 提供类型pid_t的定义 */#include <sys/wait.h>pid_t wait(int *status)进程一旦调用了wait,就立即阻塞自己,由wait自动分析是否当前进程的某个子进程已经退出,如果让它找到了这样一个已经变成僵尸的子进程,wait就会收集这个子进程的信息,并把它彻底销毁后返回;如果没有找到这.........【阅读全文】
发布时间:2015-06-13 15:19:48
功能描述:设定对信号屏蔽集内的信号的处理方式(阻塞或不阻塞)。用法:#include <signal.h>int sigprocmask(int how, const sigset_t *set, sigset_t *oldset);参数:how:用于指定信号修改的方式,可能选择有三种:SIG_BLOCK //加入信号到进程屏蔽。SIG_UNBLOCK //从进程屏蔽里将信号删除。SIG_SETMASK //将set.........【阅读全文】