我有一堆对象,每个对象都有一个唯一的 ID。
我需要互锁对象,以便一次只允许其中一个对象执行特定操作。
我有一个想法来定义一个所有对象都可以访问的整数。
如果联锁是空闲的,则整数包含零。然后允许对象将其自己的唯一 ID 放入整数中,执行操作并在之后放回零。
如果任何其他对象在其锁定时检查该整数,它将看到一个与其自己的 ID 不同的非零值并退出。
感觉几乎 100% 肯定我在这里重新发明了一个旧原则,但没有受过 CS 教育,我什至不知道它叫什么,所以我不知道要搜索什么。
我锁定声音的方法/有缺陷吗?我应该阅读什么?
请注意,这是相当低级的 61131-3/PLC 编程,因此没有单例模式等。
谢谢