2016-11-24 6 views
0

ThreadTestがMonitor.Waitによって待機されている間、ThreadTestはCPUリソースを使用しましたか?ここでC#Monitor.Wait中、スレッドはCPUリソースを使用しましたか?

が私のコードです:

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üはい、再開はUIスレッドにあります。 ThreadTestは作業スレッドであり、UIスレッドによって起動されます。 – help

+0

フラグメント改訂 – MarmiK

答えて

1

Monitor.Wait()は、別のスレッドがPulse()を呼び出すまで実行をブロックします。待機中にできるだけ少ないリソースを使用するように設計されています。

+0

ありがとう~~~ !!! – help

関連する問題