LinuxC学习笔记
quhaoye
这个作者很懒,什么都没留下…
展开
-
LinuxC信号灯的PV操作
一般意义下,信号灯是一个具有整数值的对象,它支持两种操作P()和V()。P()操作减少信号灯的值,如果新的信号灯的值小于0,则操作阻塞;V()操作增加信号灯的值,如果结果值大于或等于0,则唤醒一个等待的进程。通常用信号灯来做进程的同步和互斥。最简单形式的信号灯就是内存中一个存储位置,它的取值可以由多个进程检验和设置。至少对于相关的进程来讲,对信号灯的检验和设置操作是不可中断的或者说是原子的:只要启动原创 2017-08-24 21:12:48 · 289 阅读 · 0 评论 -
信号灯的PV操作
#include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <sys/ipc.h> #include <sys/sem.h>union semun { int val; struct semid_ds *buf; unsigned short *array; st原创 2017-09-06 13:41:20 · 353 阅读 · 0 评论