#include<semaphore.h>
信号量的数据类型为结构sem_t, 它本质上是一个长整形的数.
1. sem_init()用来初始化一个信号量
int sem_init (sem_t *sem, int pshared, unsigned int value);
pshared不为0时, 此信号量在进程间进享, 否则只能为当前进程所有线程共享, value给出信号量的初始值.
2. sem_open
创建并初始化有名信号灯.
3. sem_close
关闭有名信号灯.
4. sem_unlink, 从系统中删除信号灯
int sem_unlink(const char *name);
5. sem_wait, 被用来阻塞当前线程直到信号量sem的值大于0
7. sem_post给信号量加1
8. sem_destroy, 释放信号量sem