我正在开发一个Java应用程序,其中包含一些线程。我在控制台打印线程ID,例如17、18、19等。
但是当我打开调试视图时,会显示“Debug”窗口(最上方左侧的窗口),它会显示当前的线程,但它们使用[Thread-2]、[thread-3]等。这些数字不一定匹配ThreadIds。
有没有办法让我将在控制台中获得的ThreadId与“调试”窗口中显示的线程相关联?
有没有办法让我将在控制台中获得的ThreadId与“调试”窗口中显示的线程相关联?
我不知道有什么方法可以做到那样。
但是,还有另一种方法。这些线程名称是由您正在使用的Thread构造函数自动生成的。然而,有一个名为Thread.setName()
的方法,允许您更改线程的名称。您可能需要微调您的应用程序,以更改它创建的线程的名称以匹配线程的ID。
在 Eclipse 中没有这样的功能,但如果您想找到哪个线程,可以在代码上添加调试点并调用
Thread.currentThread();
查找当前正在执行的线程。
请关注此线程,以获取更多相关信息。
http://dev.eclipse.org/mhonarc/lists/platform-debug-dev/msg00845.html
你可以打印线程的名称而非线程ID,使用Thread.currentThread().getName()
。这是在调试器中显示的名称。