线程号(id)在线程终止并创建新线程时递增。Java 7只是喜欢递增数字,还是我做错了什么?
我正在使用Java 7构建一个服务应用程序,当连接建立时创建一个新线程并为连接提供服务。当服务接收到关闭消息时,它会退出循环并允许线程中的代码完成。因此,线程的生命周期应该已经终止,就像任何实例对象一样。Java 7不使用Thread.stop()或Thread.destroy()等方法。(自v5以来就不再使用了,我想。)
我有一个带有“打开连接”,“关闭连接”和“发送消息”按钮的界面,并在线程中对应地打印出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,main”是什么意思?)
关于线程停止的评论:为什么Thread.stop、Thread.suspend和Thread.resume已被弃用?。
我正在使用Java 7构建一个服务应用程序,当连接建立时创建一个新线程并为连接提供服务。当服务接收到关闭消息时,它会退出循环并允许线程中的代码完成。因此,线程的生命周期应该已经终止,就像任何实例对象一样。Java 7不使用Thread.stop()或Thread.destroy()等方法。(自v5以来就不再使用了,我想。)
我有一个带有“打开连接”,“关闭连接”和“发送消息”按钮的界面,并在线程中对应地打印出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,main”是什么意思?)
关于线程停止的评论:为什么Thread.stop、Thread.suspend和Thread.resume已被弃用?。