private ExclusiveMutex(IMemoryMappedQueue queue) { _queue = queue; _consumer = queue.CreateConsumer(); _syncRoot = new object(); _thread = new Thread(Read) { IsBackground = true }; _thread.Start(); }
public static ExclusiveMutex TryAcquire() { IMemoryMappedQueue queue = null; try { queue = MemoryMappedQueue.Create(QueueName); return(new ExclusiveMutex(queue)); } catch (Exception) { queue?.Dispose(); return(null); } }