信号量:
可以应用于线程、进程间同步。
相当于初始化为 N 的互斥量。 注意:信号和信号量没什么关系
N值,表示可以同时访问共享数据区的线程数。
函数:
sem_t sem; 定义类型。
int sem_init(sem_t*sem,int pshared,unsigned int value);
参数:
sem:信号量
pshared:
0:用于线程间同步
1:用于进程间同步
value:N值。(指定同时访问的线程数)
sem_destroy();
sem_wait(); 一次调用,做一次 - - 操作,当信号量为0时,再次 - - 就会阻塞。(对比pthread_mutex_lock)
sem_post(); 一次调用,做一次 ++ 操作,当信号量为N时,再次 ++ 就会阻塞。(对比pthread_mutex_unlock)