当前位置:首页 > 云服务器 > 正文内容

如何给你的线程命名?

zhuangbi888.com2021-12-26 12:41云服务器104

  集成开发环境(IDE)能给图形界面应用程序提供一个很好的调试工具,但是它却不能调试一个多线程的Java服务器程序。 幸运的是,有几种工具,例如logging应用程序接口(API)或者Java Debugger可以用来调试Java服务器程序。开发者还能使用一个系统的线程堆在任何时候观察系统的状态。

   运行服务器,然后按[ctrl] [/],会运行一个系统线程堆,这样将输出当前运行的所有线程,例如: ^\Full thread dump: Thread-1" prio=5 tid=0x87fe0 nid=0x800013b8 waiting on monitor [0。

  。0xbfffe9f8] "Thread-0" prio=5 tid=0xafde0 nid=0x72a00 runnable [0x173f000。。0x173fb48] at java。net。PlainSocketImpl。socketAccept(Native Method) at java。

  net。PlainSocketImpl。accept(PlainSocketImpl。java:421) at java。net。ServerSocket。implAccept(ServerSocket。java:243) at java。net。

  ServerSocket。accept(ServerSocket。java:222) at com。generationjava。net。PortListener。run(PortListener。java:38) at java。lang。

  Thread。run(Thread。java:496) "Signal Dispatcher" daemon prio=10 tid=0xa5f80 nid=0x52af0 waiting on monitor [0。。0] "Finalizer" daemon prio=8 tid=0xa46c0 nid=0x4d930 waiting on monitor [0x10a8000。

  。0x10a8b48] at java。lang。Object。wait(Native Method) at java。lang。ref。ReferenceQueue。remove(ReferenceQueue。java:108) at java。

  lang。ref。ReferenceQueue。remove(ReferenceQueue。java:123) at java。lang。ref。Finalizer$FinalizerThread。run(Finalizer。java:162) "Reference Handler" daemon prio=10 tid=0xa3b70 nid=0x4cca0 waiting on monitor [0x1027000。

  。0x1027b48] at java。lang。Object。wait(Native Method) at java。lang。Object。wait(Object。java:420) at java。lang。ref。Reference$ReferenceHandler。

  run(Reference。java:110) "VM Thread" prio=5 tid=0xa2de0 nid=0x4ca20 runnable "VM Periodic Task Thread" prio=10 tid=0xa56b0 nid=0x52890 waiting on monitor 后面的四个线程是标准线程,而其他的则跟运行的服务器程序有关。

  这两个线程被命名为Thread-1和Thread-0,如果用Thread th = new Thread(runnable,"Server")代替Thread th = new Thread(runnable)去创建进程,你就可以命名自己要创建的线程。

   另外,如果你调用java。lang。Thread的setName(String)方法,你也能命名你的线程,并且可以很容易从线程堆的输出中发现原来的Thread-0是服务器程序。 "Server" prio=5 tid=0xafde0 nid=0x72a00 runnable [0x173f000。

  。0x173fb48] 而原来的Thread-1线程现在变成了Thread-0。 通过命名线程和取得线程堆,开发者就能看到Java虚拟机(JVM)的内部状态。如果想得到更多信息的话,你就得去研究Java Debugger了。

完成 丢弃。

相关文章

荷兰大风车服务器(荷兰服务器怎么租)

荷兰大风车服务器(荷兰服务器怎么租)

  阿姆斯特丹运河音乐节 文化基本资料 举办时间: 每年8月15日到8月19日 举办周期: 每年举办一次 文化概况 阿姆斯特丹运河音乐节,总是使阿姆斯特丹市从一座幽静的...

啥叫服务器出错(一级服务器二级服务器)

啥叫服务器出错(一级服务器二级服务器)

一般来说,如果程序出错,那么在浏览器内会返回给用户一个友好的错误提示,统一称之为服务器500错误。解决的方法就是您必须在友好错误提示”的复选框,请取消该复选框,这样您可以获得正确的错误提示、...

云服务器需要开放SQL的1433端口,供给非公网的固定客户使用,应该如何避免被黑客攻击和破解?

感谢邀请! 这种问题,个人给你的建议是: 1.如果你懂IPSEC来做一下端口限制,比如只允许访问服务器指定的1433端口,以及软件必须的端口和你远程的端口外,其他都不允许访问。 2.使用的SQL版本尽...

聊城做企业网站(聊城做企业网站的公司)

聊城做企业网站(聊城做企业网站的公司)

今天给各位分享聊城做企业网站的知识,其中也会对聊城做企业网站的公司进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!文章目录列表: 1、聊城网站制作哪家最好,谁做的网站好优化,网站...

苏州服务区(苏州服务器硬盘回收)

苏州服务区(苏州服务器硬盘回收)

从汽车南站 - 公交车站 到阳澄湖服务区 - 其它 方案1:28.3公里,168路-128路 乘:168路(嘉宝花园-星湖首末站) 上:汽车南站 (经过15站) 下:华莲村(步行约350米) 换:12...

香港服务器加速方案(香港服务器可以用cdn加速吗)

香港服务器加速方案(香港服务器可以用cdn加速吗)

笔者经营switch数字版游戏,对于这种情况还是很有发言权的。 众所周知,ps4和switch港版的服务器架设在香港,我们使用的是香港的服务器。由于兼容性问题,下载速度可以用龟速来形容。 国行版的ps...

远程 服务器开放端口(如何开启远程电费充值业务)

远程 服务器开放端口(如何开启远程电费充值业务)

这个非常简单,telnet、nc和nmap这3个命令就可以轻松实现,下面我简单介绍一下实现过程,感兴趣的朋友可以自己尝试一下: telnet这是基于telnet协议实现的一个远程登录命令,可以直接用于...

服务器下的文件怎么做好防护工作?

不管对企业还是个人来说,数据都是相当重要的,一旦数据丢失或者被窃取,损失都是相当惨重的。还记得今年微盟员工删库事件,市值一下蒸发10多个亿,对于企业来说数据就是企业命根子。一旦我们的项目数据丢失或者被...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。