2016-11-24 4 views
0

Во время ThreadTest ждет Monitor.Wait, использовал ли ThreadTest ресурс процессора?C# Во время Monitor.Wait, использовал ли поток ресурс процессора?

Вот мой код:

void ThreadTest() 
{ 
    lock (ObjectA) 
    { 
     ... 

     lock (ObjectB) 
     { 
      while (Condition) 
      { 
       Monitor.Wait(ObjectB); 
      } 
     } 

     ... 

    } 
} 


void Resume() 
{ 
    lock (ObjectB) 
    { 
      Condition = true; 
      Monitor.Pulse(ObjectB); 
    } 
} 

Я хотел бы знать, делает это время (состояние) называют Monitor.Wait непрерывно?

+0

Являются ли методы ThreadTest и Resume на разные темы –

+0

@ EmrahSüngü Да, резюме на тему пользовательского интерфейса. ThreadTest - это рабочий поток и запускается с помощью пользовательского интерфейса. – help

+0

Исправлен фрагмент – MarmiK

ответ

1

Monitor.Wait() блокирует выполнение до тех пор, пока другая нить не вызовет Pulse(). Он предназначен для использования как можно меньше ресурсов во время ожидания.

+0

Спасибо ~~~ !!! – help