作用:
用于线程的互斥和同步。进程在进入时会采用p操作,退出时采用v操作(理解:假如有cpu同时可以跑3个线程,信号量初始为3,前三个线程进去后信号量减为0,再来一个线程信号量为-1了,这时候cpu中的进程跑完了信号量+1,查看线程信号量是否小于或等于0就可以知道是否有线程在等待。)P操作可以阻塞,V操作不能,信号量用于实现人为控制线程的先后执行。
信号量操作:
p,v操作的实现:
信号量类型:
1、二进制信号量:可以为0或1,或称为互斥信号量
2、一般/计数信号量:可以取任何非负数