摘要: 一、关于信号量1、在信号量中有一个内置的计数值,用于对资源进行计数;同时它通过内置的互斥机制保证在有多个线程试图对计数值进行修改时,在任一时刻只有一个线程对计数值进行修改。2、信号量的两个核心操作是Up操作(提高计数值)和Down操作(降低计数值):1)Down操作:检查信号量的计数值是否大于零1》若大于零,信号量的计数值减一(即用掉了一个信号量计数了),线程继续运行;2》若等于零(也就是线程不能获得所需的信号量了),于是进入睡眠状态。Down操作的原子性保证了一旦一个线程对信号量的操作开始,其他线程就不能访问,知道操作完成或阻塞。2)Up操作用于线程释放对信号量的所有权,提高信号量的计数值。 阅读全文