해결된 질문
작성
·
161
0
1:31 경에 쓰레드1,2,3 3개의 객체를 만들고 실행하잖아요 그러면 1:49 그림에서 3개의 인스턴스가 그려져야하는거 아닌가요?
반복문을 통해 Thread를 100개 실행하고 있습니다. 여기서, thread 참조변수에 Thread 객체를 생성하고 있던데, 그렇다면
for문 순회하나하고 블록 종료시점에 스택프레임이 제거되어 thread 참조변수는 제거될것이고 힙영역에 Thread 객체가 존재하다가 나중에 GC 실행시점에 Thread 객체가 지워질것으로 보이는데 맞나요? 만약 그렇게 Thread 객체가 지워진다면 실행중이던 스레드도 중단되나요?
답변 1
2
안녕하세요. 인프런님
그림에서는 Thread 객체는 생략되어 있습니다. 그림에서는 HelloRunnable 객체만 표현하고 있습니다.
해당 스레드의 스택 프레임이 모두 종료되지 않으면 스레드 객체는 GC 되지 않습니다. 물론 참조하는 객체가 있는 경우에도 GC 되지 않습니다.
감사합니다.