我有一个问题,我可以用一些代码示例来帮助我,我觉得提供一些背景知识可能会有所帮助。
我需要创建 3 个队列的引擎(在 C# 中,winforms 中)。3 个队列仅包含一个“动作”对象。动作被扔进引擎,并坚持到“最可用”的队列(基本上是计数最少的队列)。队列几乎在所有时间都可以离散和异步运行而不会造成任何伤害。但是,可能会发生一种“动作”情况,当这种类型的“动作”发生并且确实冒泡到队列的前面时,它必须:
- 等待其他队列停止其当前操作
- 完成当前操作后锁定/暂停它们
- 单独运行 Action 直到完成
- 释放对其他 2 个队列的锁定。
增加的问题是 3 个队列中的任何一个都可以锁定其他 2 个。
有没有人有这方面的经验?
我希望如此,这似乎有点痛苦:-)提前谢谢