mutex = semget(IPC_PRIVATE, 1, 0666|IPC_CREAT); // 创建信号量
.
semctl(mutex, 0, SETVAL, 1); // 互斥信号量mutex赋初值为1
.
// 定义p操作 信号量申请操作
p.sem_num = 0;
p.sem_op = -1;
p.sem_flg = SEM_UNDO;
.
// 定义v操作 信号量释放操作
v.sem_num = 0;
v.sem_op = 1;
v.sem_flg = SEM_UNDO;
.
semop(mutex, &p, 1); // 信号量操作的申请wait
.
semop(mutex, &v, 1); // 信号量操作的释放signal
.
wait(NULL);阻塞父进程,等待子进程
.