PTHREAD:何时应创建另一个互斥体?

我的问题是这个

在处理同步问题时,如何知道何时需要新的互斥锁?

这里有一些总体思路吗?例如,“为互斥问题的每个谓词创建互斥体”,我认为条件变量就是这种情况。

一个互斥锁总是足够吗?每个条件变量都应该有一个互斥锁吗?

一个例子是我当前正在为学校工作的问题,这是火车在桥梁问题上的问题(两个方向,并且在任何时候桥梁上只有一列火车)。

我有一个互斥锁和一些条件变量。一个简历是关于桥上是否有火车,另外两个是关于是否有火车在等待。

我不是在找任何人为我工作,但我的问题是我们如何确定所需的互斥量和条件变量。

我的直觉是,每个谓词都需要一个CV(桥上有火车),存在的竞争条件需要一个互斥体(检查共享的全局变量的状态),但是不能战胜一匹死马,我怎么知道一个互斥量不足?

在此先感谢您的指导。

iCMS 回答:PTHREAD:何时应创建另一个互斥体?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/1953158.html

大家都在问