C# 在 Monitor.Wait 期间,线程是否使用了 CPU 资源?
C# During Monitor.Wait, Did the thread use CPU resource?
在 Monitor.Wait 等待 ThreadTest 期间,ThreadTest 是否使用了 CPU 资源?
这是我的代码:
void ThreadTest()
{
lock (ObjectA)
{
...
lock (ObjectB)
{
while (Condition)
{
Monitor.Wait(ObjectB);
}
}
...
}
}
void Resume()
{
lock (ObjectB)
{
Condition = true;
Monitor.Pulse(ObjectB);
}
}
我想知道 while(Condition) 是否连续调用 Monitor.Wait?
Monitor.Wait()
阻塞执行直到另一个线程调用 Pulse()
。它旨在在等待时使用尽可能少的资源。
在 Monitor.Wait 等待 ThreadTest 期间,ThreadTest 是否使用了 CPU 资源?
这是我的代码:
void ThreadTest()
{
lock (ObjectA)
{
...
lock (ObjectB)
{
while (Condition)
{
Monitor.Wait(ObjectB);
}
}
...
}
}
void Resume()
{
lock (ObjectB)
{
Condition = true;
Monitor.Pulse(ObjectB);
}
}
我想知道 while(Condition) 是否连续调用 Monitor.Wait?
Monitor.Wait()
阻塞执行直到另一个线程调用 Pulse()
。它旨在在等待时使用尽可能少的资源。