Esempio n. 1
0
        /// <summary>
        /// Новый Mutex
        /// </summary>
        /// <param name="name">Уникальное имя для межпроцессной синхронизации</param>
        public MutexLocker(string name)
        {
            State = MutexState.None;

            Name    = name;
            m_mutex = new Mutex(requestInitialOwnership,
                                name,
                                out mutexWasCreated);
        }
Esempio n. 2
0
 /// <summary>
 /// Освобождение блокировки Mutex'a
 /// </summary>
 public void Dispose()
 {
     if (m_mutex != null)
     {
         try
         {
             m_mutex.ReleaseMutex(); //разблокировка текущего потока
             State = MutexState.Relised;
             m_mutex.Close();
             m_mutex = null;
         }
         catch (Exception ex)
         {
             Log.WindowsLoger.LogError("ECR", "Возникло исключение при освобождении Mutex'a", ex, new Log.LogParameter("Имя", Name));
         }
     }
 }