Java 7:线程重用?(断开 - 重新连接)

Rog*_*Gay 6 java multithreading

线程终止并创建新线程时,线程号(id)递增.Java 7是喜欢增加数字还是我做错了什么?

我正在使用Java 7构建一个服务应用程序,它在建立连接时创建一个新线程,然后为连接提供服务.当服务收到关闭消息时,它会退出循环并允许完成线程中的代码.因此,据我所知,线程的生命被终止,就像任何实例对象一样.Java 7不使用Thread.stop()或Thread.destroy()或任何此类东西.(我认为不是自v5以来.)

我有一个带有"Open Connection","Close Connection"和"Send Message"按钮的界面以及线程中相应的println语句,所以我可以看到发生了什么.我打印出来的变量之一是Thread.currentThread().当我打开第一个连接时,currentThread()是Thread [Thread-0,5,main].我关闭连接并从循环中获取消息,指示Thread [Thread-0,5,main]正在终止.

好的,现在又回到原点了,对吗?没有线程.

我再次点击连接,然后输入Thread [Thread-1,5,main].看到了吗?"Thread-1"而不是"Thread-0".每次我这样做,数字都会增加1.

(侧面问题,如果不是太麻烦.什么是"5,主要"是什么意思?)

评论re:thread stop:为什么Thread.stop,Thread.suspend和Thread.resume已弃用?.

irr*_*ble 2

线程-0,5,主线程

0:ID

5:优先级

主要:名称

线程 ID 是long;如果我们每秒创建一百万个线程,30万年后,id就会溢出。