线程窗口列出了当前调试会话中的所有线程。可通过选择“窗口”>“调试”>“线程”来打开“线程”窗口。
为每个线程指定的信息包括线程名、状态以及线程是否暂停。总有一个线程为当前线程。缺省情况下,当前线程是当前会话中调试器从中获得控制权的线程。选择一个不同的当前会话时,“线程”窗口将更新以显示该会话的线程。
下表介绍了调试器的线程状态。
状态 | 描述 |
---|---|
监视 | 线程正在 Java 监视程序上等待。 |
未启动 | 线程尚未开始。 |
运行 | 线程可运行。 |
正在休眠 | 线程处于休眠状态。Thread.sleep() 被调用。 |
未知 | 线程状态未知。 |
等待 | 线程正在等待。Object.wait() 被调用。 |
僵死 | 线程已经执行完毕。 |
下表描述了对象名称左侧显示的图标。
图标 | 描述 |
---|---|
![]() |
包含当前线程的线程组 |
![]() |
不包含当前线程的线程组 |
![]() |
当前线程 |
![]() |
正在运行且不是当前线程的线程 |
![]() |
已被暂停且不是当前线程的线程 |
右键单击“线程”窗口将打开弹出式菜单,可以从中选择以下操作:
菜单项 | 描述 |
---|---|
激活 | 使选定线程成为当前线程。此命令等价于双击线程。 |
恢复 | 恢复执行选定线程。 |
暂停 | 暂停执行选定的线程。 |
中断 | 中断执行选定的线程。 |
转至源 | 在选定线程的栈中显示最新框架的源代码。 |
列表选项 | 允许您定制“线程”窗口的显示,包括添加和删除信息列、重新排序列和排序列。有关详细信息,请参见定制调试器窗口。 |
缺省情况下,所有线程属性将直接显示在“线程”窗口中,但“暂停”属性除外。要在“线程”窗口中显示“暂停”属性,请单击窗口右上角的 图标,或者在窗口中单击鼠标右键,选择“列表选项”>“更改可视列”,然后在该对话框中选中“暂停”复选框。
如果暂停了某个线程(例如,由于在调试会话期间到达断点),则在“暂停”列中会选中该线程的复选框。取消选中“暂停”复选框将会恢复线程执行。