信号量的初始值有什么意义?

时间:2009-08-15 17:24:40

标签: multithreading operating-system

信号量是一种避免竞争条件的机制。但是信号量初始值的重要性是什么?

假设信号量的初始值为5,那5个进程是否可以同时访问某些共享资源?

2 个答案:

答案 0 :(得分:4)

我对信号量的了解很生疏,但如果你创建一个初始计数为5的信号量,则意味着5个线程(不是进程)可以同时访问信号量。有关更多详细信息,请查看这些链接:

答案 1 :(得分:2)

信号量是一种协调多个控制线程的方式,而不仅仅是互斥。例如,一个经典的固定大小的生产者 - 消费者队列可以使用为生产者初始化为非零值的信号量,以便当缓冲区中有太多元素时它们会阻塞。