System V semaphores are an older semaphore API. POSIX semaphores provide a simpler, and better designed interface than System V semaphores; on the other hand POSIX semaphores are less widely available (especially on older systems) than System V semaphores.
POSIX 信号量
查看POSIX信号量的概述
man sem_overview
匿名信号量
可用于线程间通信和进程间通信(信号量位于共享内存中)
#include<semaphore.h>intmain(){sem_t sem_id;sem_init(&sem_id,0,1);//初始化信号量,线程间通信,初始值为1sem_wait(&sem_id);//P操作, will block//sem_trywait(&sem_id); //try to P操作, won't block//访问临界资源sem_post(&sem_id);//V操作sem_destroy(&sem_id);//销毁信号量}