Я совершенно не знаком с Mutex.C# Mutex Timespan объясняется новичку
Я не понимаю, что это означает:
WaitOne (TimeSpan) Блокирует текущий поток до текущего экземпляра не принимает сигнал, используя TimeSpan для указания интервала времени. (Ухожена с сайта WaitHandle.)
E.g. если я использую:
static void Main()
{
using(Mutex mutex = new Mutex(false, appGuid))
{
if(!mutex.WaitOne(2000, false))
{
MessageBox.Show("Instance already running");
return;
}
GC.Collect();
Application.Run(new Form1());
}
}
это означает, что когда-то линии
if(!mutex.WaitOne(2000, false))
увольняют, он ждет 2 секунды, прежде чем он проверяет, есть ли блокировка на резьбе ?
Вы понимаете, что указанная вами цитата с документацией отличается от кода, который вы написали? – Rawling
Для целей этого вопроса булева перегрузка не имеет никакого значения. –
Параметр времени используется для определения * таймаута *, который является максимально допустимым для ожидания времени. 'WaitOne' попытается получить право собственности до истечения таймаута, начиная с« сразу после вызова »^^ – Sinatr