再见以前说再见 操作系统复习

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);阻塞父进程,等待子进程

.

猜你喜欢

转载自blog.csdn.net/m0_64799907/article/details/131308699