스레드가 종료되고 새 스레드가 생성되면 스레드 번호 (ID)가 증가합니다. 자바 7은 단순히 숫자를 늘리는 것을 즐기는가 아니면 내가 잘못하고있는 것일까?Java 7 : 스레드 재사용? (연결 끊기 - 다시 연결)
Java 7을 사용하여 서비스 응용 프로그램을 작성합니다.이 응용 프로그램은 연결될 때 새 스레드를 생성 한 다음 연결 서비스를 제공합니다. 서비스가 닫기 메시지를 받으면 루프에서 빠져 나와 스레드의 코드 완성을 허용합니다. 따라서 스레드의 수명은 마치 인스턴스 객체와 마찬가지로 이해할 수 있으므로 종료되었습니다. Java 7은 Thread.stop() 또는 Thread.destroy() 또는 이와 같은 것을 사용하지 않습니다. (내가 생각하는 v5 이후가 아닙니다.)
"Open Connection", "Connection Close"및 "Message 보내기"버튼과 해당 println 문을 스레드에 표시하므로 어떤 일이 벌어지는 지 알 수 있습니다. 내가 인쇄하는 변수 중 하나는 Thread.currentThread()입니다. 첫 번째 연결을 열면 currentThread()는 Thread [Thread-0,5, main]입니다. 연결을 닫고 Thread [Thread-0,5, main]가 종료됨을 나타내는 루프에서 메시지를 가져옵니다.
이제 다시 정사각형으로 돌아갑니다. 맞습니까? 스레드가 없습니다.
다시 클릭하여 Thread [Thread-1,5, main]를 입력하십시오. 저거 봐? "Thread-0"대신 "Thread-1". 내가 할 때마다 번호는 1
에 의해 상승
해설 재 (너무 많은 문제가 아니라면 사이드 질문 무슨 말은 "주 5"입니다.?) : 스레드 정지 : Why are Thread.stop, Thread.suspend and Thread.resume Deprecated?.
감사합니다. 그리고 헤이 - 기뻐하십시오!나는 이제 당신의 답변을 투표 할 수있는 충분한 점수를 얻었습니다. "5, main"이 무슨 뜻인지 아십니까? –
나는 이것이 쓰레드 ID가 맥도날드에서 팔린 햄버거의 수와 같을 것이라 생각한다. BigInteger를 사용하기를 바랍니다. –
"5, main"접미사는 스레드를 생성 (또는 유지 관리) 한 사람이 첨부해야한다고 생각합니다. –