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

如何给你的线程命名?

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

  集成开发环境(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了。

完成 丢弃。

相关文章

香港服务器如何选择操作系统(服务器操作系统版本选择)

香港服务器如何选择操作系统(服务器操作系统版本选择)

很高兴回答你的问题我是林创云小编,如果我的回答对你有帮助欢迎给我评论留言或者点赞加个关注! 1.Linux系统 Linxu Server系统是专门为多用户服务器环境构建的操作系统,不同用户可以共同登录...

柬埔寨租个服务器多少钱一年(柬埔寨服务器在哪里租)

服务器租用平台十次方来帮您解答这个问题。 租服务器就像租房子一样,有几百的,也有几千或者上万的,具体得看配置,不同的要求价格也不一样。服务器租用,像一般的个人网站或者仅做展示型的企业网站,需要的配置不...

服务器参数解释8c 32g(荣耀畅玩8c千万别买)

服务器参数解释8c 32g(荣耀畅玩8c千万别买)

感谢邀请!这是我们总结的一份全面的组装电脑要点解答,希望能对你有所帮助! 答案是,所有的部件都很重要!接下来我们将一一为你剖析: 1.处理器。负责处理电脑的基本运算,核心参数有核心线程数、架构、制程...

电信服务器购买(电信充值入口)

电信服务器购买(电信充值入口)

本行业问题,我来回答。 其实原因很简单,因为原来只有联通和电信有大量的IDC机房资源,而这些IDC机房,则完全是联通和电信继承老的电信局的资产。 现在的三大运营商都和原来的电信局有着千丝万缕的关系。在...

怎么攻击服务器(在线ddos攻击平台)

应该是有两种主要攻击方式:sql注入和拒绝服务攻击。前一种还算更好防御些,用独立无旁站的服务器,再加上sql防注入过滤系统,然后多关注关注你的管理系统的0day,多更新更新补丁,关闭没有必要的端口(比...

阿里云服务器被攻击怎么办,快速处理(阿里云 物理服务器)

阿里云服务器被攻击怎么办,快速处理(阿里云 物理服务器)

忘记windows开机密码而无法进入系统桌面时,可以尝试一下3种解除密码的方法1、直接修改已经存在的用户的密码开机时,按下F8进入”带命令提示符的安全”模式输入”NET USER 用户名 123456...

自己的服务器需要备案吗(公司服务器备案流程)

自己的服务器需要备案吗(公司服务器备案流程)

服务器不一定要备案,这个需要根据你的需求来看是否需要备案。如果你购买一台阿里云或者是腾讯云服务器不需要通过域名来访问,直接使用IP地址是不需要备案的。你可以在服务器上部署各种服务,如:msyql、ng...

云服务器负载均衡(负载均衡服务器挂了怎么办)

云服务器负载均衡(负载均衡服务器挂了怎么办)

云到底是什么? 云这个词儿听着挺虚的,题主在这里可以理解为云计算。 云计算是通过网络系统按需要提供获取计算能力、储存空间和信息服务。那么提供资源的网络就叫做“云”。 就拿储存空间举个例子,你可以把自己...