【发布时间】:2016-11-03 05:34:44
【问题描述】:
【问题讨论】:
标签: multithreading semaphore monitor
【问题讨论】:
标签: multithreading semaphore monitor
假设一个进程P0的执行依赖于其他k个进程:P1,...,Pk。 您需要一个信号量来同步进程并满足这一单一约束。
信号量 S0 初始化为 0,而 P0 将尝试在 S0 上等待 k 次(也就是说,它会尝试获取k个资源)。
每个 k 进程 P1、...、Pk 将在执行结束时释放 S0 .
这将保证 P0 仅在所有其他 k 进程完成执行(以任意顺序和异步方式)后才开始执行。
在您提供的链接中,您需要 4 个信号量,T1 不需要任何信号量,因为它的执行不依赖于其他任何人。
【讨论】: