【问题标题】:What is the significance of the initial value of a semaphore?信号量的初始值有什么意义?
【发布时间】:2009-08-15 17:24:40
【问题描述】:

信号量是一种避免竞争条件的机制。但是信号量的初始值有什么意义呢?

说一个信号量的初值为5,是不是5个进程可以同时访问某个共享资源?

【问题讨论】:

    标签: multithreading operating-system


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2011-06-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-05-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多