获取互斥锁,优先选择升级过程

时间:2015-01-26 20:40:24

标签: c++ windows winapi synchronization multiprocessing

我有一个Mutex,可以避免在Mutex发布后可能等待启动的同时运行多个进程。现在我可能有一些实例试图获得升高和非升高的Mutex。我希望升级过程能够在持有锁定的进程释放Mutex后,在非升级进程之前获取Mutex

不太可能,但我想考虑许多非升级的实例,并且许多实例提升竞争相同的互斥体以提供强大的功能。

实现这一目标的优秀强大方法是什么?

问题的解决方案可能使用多个互斥锁。我以为我可以采用这种方法将高架与非高架分开并发挥一些技巧。

编辑: 我正在寻找Windows Vista +的答案,但我认为如果我们将问题减少到优先获取互斥锁的处理类别的问题,我认为这个问题适用于其他操作系统。了解其他操作系统的解决方案也很有趣。

1 个答案:

答案 0 :(得分:1)

只需编写完全符合您要求的代码即可。例如,您可以计算等待互斥锁的高级进程数,并受互斥锁保护。然后对非提升的进程进行编码,直到该计数降为零为止。无论如何,所有的过程都在合作 - 骗子可以拒绝阻止互斥锁。所以应该没有安全问题。