【发布时间】:2016-11-24 02:42:20
【问题描述】:
在 ThreadTest 被 Monitor.Wait 等待期间,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?
【问题讨论】:
-
ThreadTest 和 Resume 方法是在不同线程上的吗
-
@EmrahSüngü 是的,简历在 UI 线程上。 ThreadTest 是工作线程,由 UI Thread 启动
-
有一些工具可以让您轻松检查线程的 CPU 使用率,例如进程监视器
-
@DirkVollmar 当我看到进程监视器时,CPU 使用率几乎没有变化。所以我不知道。
标签: c# multithreading cpu monitor