【发布时间】:2009-08-15 17:24:40
【问题描述】:
信号量是一种避免竞争条件的机制。但是信号量的初始值有什么意义呢?
说一个信号量的初值为5,是不是5个进程可以同时访问某个共享资源?
【问题讨论】:
标签: multithreading operating-system
信号量是一种避免竞争条件的机制。但是信号量的初始值有什么意义呢?
说一个信号量的初值为5,是不是5个进程可以同时访问某个共享资源?
【问题讨论】:
标签: multithreading operating-system
我对信号量的了解是生疏的,但是如果你创建一个初始计数为 5 的信号量,这意味着 5 个线程(不是进程)可以同时访问该信号量。查看这些链接了解更多详情:
【讨论】:
信号量是一种协调多个控制线程的方式,而不仅仅是为了互斥。例如,一个经典的固定大小的生产者-消费者队列可能会使用一个初始化为非零值的信号量给生产者,以便当缓冲区中的元素过多时它们会阻塞。
【讨论】: