您现在的位置是:首页
>
查看电脑线程 命名你的线程和查看系统
命名你的线程和查看系统 虽然集成开发环境 IDE 可以为图形化应用程序提供很好的调试设置 但是它不允许你调试多线程的Java服务器程序 幸运的是 有几个工具可以做到 例如日志应用程

命名你的线程和查看系统
虽然集成开发环境(IDE)可以为图形化应用程序提供很好的调试设置 但是它不允许你调试多线程的Java服务器程序 幸运的是 有几个工具可以做到 例如日志应用程序接口(API)和Java调试器 开发人员也可以获得系统的线程转储 它可以在任何时间显示出系统状态 为了得到系统线程转储 运行服务器程序并键入[Ctrl] [] 这会输出所有正在执行的线程 例如 ^Full thread dump: Thread prio= tid= x fe nid= x b waiting on monitor [ xbfffe f ] Thread prio= tid= xafde nid= x a runnable [ x f x fb ] at PlainSocketImpl socketAccept(Native Method) at PlainSocketImpl accept(PlainSocketImpl java: ) at ServerSocket implAccept(ServerSocket java: ) at ServerSocket accept(ServerSocket java: ) at co PortListener run(PortListener java: ) at java lang Thread run(Thread java: ) Signal Dispatcher daemon prio= tid= xa f nid= x af waiting on monitor [ ] Finalizer daemon prio= tid= xa c nid= x d waiting on monitor [ x a x a b ] at java lang Object wait(Native Method) at java lang ref ReferenceQueue remove(ReferenceQueue java: ) at java lang ref ReferenceQueue remove(ReferenceQueue java: ) at java lang ref Finalizer$FinalizerThread run(Finalizer java: ) Reference Handler daemon prio= tid= xa b nid= x cca waiting on monitor [ x x b ] at java lang Object wait(Native Method) at java lang Object wait(Object java: ) at java lang ref Reference$ReferenceHandler run(Reference java: ) VM Thread prio= tid= xa de nid= x ca runnable VM Periodic Task Thread prio= tid= xa b nid= x waiting on monitor 后面四个线程都是标准线程 而其它的与特定运行的服务器程序相关 这两个线程被命名为Thread 和Thread 改变这些线程的名称 创建时调用 Thread th = new Thread(runnable Server ); 替代如下的 Thread th = new Thread(runnable); 另外 如果调用java lang Thread的setName(String)方法 你可以命名你的线程并在改变的输出中察觉到Thread 就是服务器程序 Server prio= tid= xafde nid= x a runnable [ x f x fb ] 先前的Thread 线程现在被命名为Thread 通过命名线程并获得线程转储 开发人员可以窥窃Java虚拟机(JVM)的状态 想要更进一步 开发人员必须探究Java调试器 lishixinzhi/Article/program/Java/gj/201311/27413 很赞哦! (1053)