做爰片在线看网站,为什么要建微信网站,dede多个网站怎么做,网站建设公司推荐理由信号灯也叫信号量 用于进程/线程同步或互斥的机制 信号灯的类型
1.Posix 无名信号灯
2.Posix 有名信号灯
3.System V 信号灯 信号灯的含义
计数信号灯#xff08;1和2都是#xff09;
System V信号灯是一个或多个计数信号灯的集合#xff08;可操作集合中的多个信号灯1和2都是
System V信号灯是一个或多个计数信号灯的集合可操作集合中的多个信号灯 System V 信号灯使用步骤 打开 / 创建 信号灯 semget 信号灯初始化 semctl P/V 操作 semop 删除信号灯semctl 信号灯的创建/打开 #include sys/ipc.h
#include sys/sem.h
int semget(key_t key, int nsems, int semflg ) 成功返回信号灯ID 失败返回-1
key 和消息队列关联的key IPC_PRIVATE 或 ftok
nsems 集合中包含的计数信号灯个数
semflg 标志位IPC_CREAT | 0666 IPC_EXCL 信号灯初始化 #include sys/ipc.h
#include sys/sem.h int semctl(int semid, int semnum, int cmd, ...) 成功返回0 失败返回EOF
semid 要操作的信号灯集id
semnum 要操作的集合中的信号灯编号
cmd 执行的操作 SEVAL IPC_RMID
union semun 取决于cmd
union semun
{
int val; //要初始化的值
struct semid_ds *buf;
unsinged short *array;0;
struct seminfo *_buf;
} 信号灯 P/V操作 #include sys/ipc.h
#include sys/sem.h
int semop(int semid, struct sembuf *sops, unsigned nsops) 成功返回0 失败返回-1
semid 要操作的信号灯集id
sops 描述对信号灯操作的结构体(数组
nsops 要操作的信号灯的个数 struct sembuf
{
short semnum;
short sem_op;
short sem_flg;
} semnum 信号灯编号
sem_op -1 P操作 1 V操作
sem_flg 0(操作不成功则一直阻塞 直到成功为止) / IPC_NOWAIT