示例#1
0
 private ExclusiveMutex(IMemoryMappedQueue queue)
 {
     _queue    = queue;
     _consumer = queue.CreateConsumer();
     _syncRoot = new object();
     _thread   = new Thread(Read)
     {
         IsBackground = true
     };
     _thread.Start();
 }
示例#2
0
            public static ExclusiveMutex TryAcquire()
            {
                IMemoryMappedQueue queue = null;

                try
                {
                    queue = MemoryMappedQueue.Create(QueueName);
                    return(new ExclusiveMutex(queue));
                }
                catch (Exception)
                {
                    queue?.Dispose();
                    return(null);
                }
            }