从MSDN:
返回有关正在等待某个资源的任务的等待队列的信息。
在此定义中 CPU 是否被视为资源?我最初认为不是,但让我担心的是wait_duration_ms
来自同一页面的定义:
wait_duration_ms 此等待类型的总等待时间,以毫秒为单位。这个时间包括signal_wait_time。
如果它确实包括RUNNABLE
任务,那么wait_type
它们的价值是什么?它是一些特殊的值,表明它没有被阻塞,而是在等待调度程序,还是它处于SUSPENDED
状态时的值相同?
假设我们有两个客户使用的实例:我和我的朋友 Ivan。我们每个人都有自己的数据库。我们每个人都只是在读书。
我是个坏人,所以我无情地对数据库进行表扫描。我的表也很大,所以它们不适合内存。Ivan 是个好人,所以他的所有查询都包含在一个索引中,所以他根本没有理由访问磁盘。
他会注意到任何问题吗?
AFAIK,我将有一堆线程SUSPENDED
处于等待磁盘的状态,否则不会产生太多负载,因此 Ivan 应该会做得很好。