// 1,信号量的定义
// 信号量是有一个整数值的对象
// 调用sem_wait()(或P())和sem_post()(或V())函数来操作
// sem_wait()函数:先对信号量的值减1,然后判断如果其值小于0就会等待
// sem_post()函数:先对信号量的值加1,然后判断如果有等待的线程就将其唤醒
// 当信号量的值为负数的时候,这个数的绝对值就是等待线程的个数
// sem_wait()和sem_post()在同一个线程中成对出现
// 2,信号量用作锁——二值信号量
// sem_trywait 会先执行sem_wait()函数: 如果是0将退出.