最好替换命名的互斥锁以实现每个资源的同步访问
|
for (int i = 0; i < 100; i++)
{
// If current thread needs resource(i) then
Mutex mutex = new Mutex(false, \"Mutex\" + i.ToString());
mutex.WaitOne();
// synchronized access to resource(i)
mutex.ReleaseMutex();
}
我们有100个资源,并且每个资源应同时由一个线程访问(可以同时访问resource [2]和resource [5]),所以我使用了上面的代码。在这种情况下,什么是命名互斥的最佳选择?
没有找到相关结果
已邀请:
2 个回复
感秆暴壳
。
或者,您可以锁定单个资源对象。如果它们确实是对象。我发现使用单独的锁对象更容易理解和维护,因为\“ resource \”可能是方法或一组对象。锁对象是对我来说有助于理解的抽象。 如果有多个进程需要这样做,那么除了使用ѭ3之外,我看不到任何好的解决方案。但是,我建议在程序开始时创建这些
对象的列表,并将其保留。这样,在循环中只需要做
,就不需要每次循环都创建对象。
香腔弥胯瓤