Object synchronization method was called from an unsynchronized block of code
От: e.thrash  
Дата: 25.05.19 13:56
Оценка:
При выполнение кода ниже кидается ошибка из сабжа.
Нашел описание проблемы, но по русски кто может рассказать почему данный код кидает ошибку при релизе мьюеткса?

static void Main(string[] args)
        {
            var appGuid = $"Global\\{Assembly.GetExecutingAssembly().GetType().GUID.ToString()}";
            Mutex namedMutex;
            try
            {
                namedMutex = Mutex.OpenExisting(appGuid);
            }
            catch (WaitHandleCannotBeOpenedException w)
            {
                namedMutex = new Mutex(false, appGuid);
            }

            Task t = new Task(() => { Console.WriteLine("aaa"); });
            t.Start();
            t.Wait();
        
            namedMutex.ReleaseMutex();;

        }


добавил. Насколько это правильно?
           namedMutex.WaitOne();
            namedMutex.ReleaseMutex();;
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.