通缉:不受 AbandonedMutexException 影响的跨进程同步不受、AbandonedMutexException

2023-09-07 16:41:51 作者:你是什么人我就什么态度

I have several threads that acquire Mutexes and then terminate.

The mutexes are stored in a main repository, and are properly released when the program exists. However, when the thread that allocated a Mutex exists, the mutex gets released automatically, and subsequent acquire AbandonedMutexException (also according to the documentation).

通缉令电影 –

How can I avoid this exception, and keep using a Mutex even after the allocating thread finished? Is there another, more appropriate synchronization construct in .Net that doesn't have this limitation.

Note - I am looking for a cross-process synch mechanism with similar semantics to Mutex.

解决方案

Looks like EventWaitHandle does what I want. It has a constructor that takes a name, so it's perfect for cross-process synch, and it doesn't have this problem.

 
精彩推荐
图片推荐