【问题标题】:Semaphore minimization信号量最小化
【发布时间】:2016-11-03 05:34:44
【问题描述】:

我在图书馆的一本多线程书籍中偶然发现了一个问题,我想知道我需要做什么才能最大限度地减少信号量的数量。

在这种情况下你会怎么做?

Semaphores

【问题讨论】:

    标签: multithreading semaphore monitor


    【解决方案1】:

    假设一个进程P0的执行依赖于其他k个进程:P1,...,Pk。 您需要一个信号量来同步进程并满足这一单一约束。

    信号量 S0 初始化为 0,而 P0 将尝试在 S0 上等待 k 次(也就是说,它会尝试获取k个资源)。

    每个 k 进程 P1、...、Pk 将在执行结束时释放 S0 .

    这将保证 P0 仅在所有其他 k 进程完成执行(以任意顺序和异步方式)后才开始执行。

    在您提供的链接中,您需要 4 个信号量,T1 不需要任何信号量,因为它的执行不依赖于其他任何人。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-07
      • 2013-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多