将线程视图用作检测线程瓶颈的主要视图。它显示程序中每个线程的活动记录,并帮助您找出线程争用和死锁。
当不能立即获得线程正在等待的资源时就会发生争用;争用会降低代码的执行速度,但是经过一段时间之后就会消除这种情况。
当一个线程正在等待已被第二个线程锁定的资源,而第二个线程正在等待被第一个线程锁定的资源时,就会发生死锁。死锁可能会涉及到两个以上的线程。死锁决不会自行解决。它经常会引起整个应用程序中断或具有死锁的那部分应用程序中断。
要查找线程争用和死锁:
- 显示线程视图:右键单击“线程分析”概要分析资源,然后单击。
- 在线程视图中查找线程之间的垂直箭头。 单个箭头表示线程争用,其中一个线程正在等待另一个线程释放锁定。多个箭头表示死锁,即两个线程属于同一死锁线程状态。菱形标记表示尽管线程正在等待一个锁定,但无法确定占有该锁定的线程。
- 将光标停留在正在等待锁定或死锁的线程段上。这将显示一个工具提示,它指定锁定的名称,并且指出正占有该锁定的线程。
下面是一个争用示例:

下面是一个死锁示例:

注: 如果使用“执行时间分析”概要分析类型对程序进行概要分析,则您可以收集和显示线程数据,但是仅适用于处于“正在运行”和“死亡”状态的线程。要显示瓶颈,您必须在您的概要分析集中包含“线程分析”概要分析类型。
下列主题提供了有关控制线程视图的指示信息: