我的问题是这个
在处理同步问题时,如何知道何时需要新的互斥锁?
这里有一些总体思路吗?例如,“为互斥问题的每个谓词创建互斥体”,我认为条件变量就是这种情况。
一个互斥锁总是足够吗?每个条件变量都应该有一个互斥锁吗?
一个例子是我当前正在为学校工作的问题,这是火车在桥梁问题上的问题(两个方向,并且在任何时候桥梁上只有一列火车)。
我有一个互斥锁和一些条件变量。一个简历是关于桥上是否有火车,另外两个是关于是否有火车在等待。
我不是在找任何人为我工作,但我的问题是我们如何确定所需的互斥量和条件变量。
我的直觉是,每个谓词都需要一个CV(桥上有火车),存在的竞争条件需要一个互斥体(检查共享的全局变量的状态),但是不能战胜一匹死马,我怎么知道一个互斥量不足?
在此先感谢您的指导。