728x90
728x90
쓰레드
-
[Java] 쓰레드 스택, 힙 영역, 쓰레드 로컬JAVA 2024. 11. 24. 20:48
쓰레드 동시성 공부를 하면서 쓰레드 로컬과 스택, 힙 영역의 차이가 궁금하여 정리해보았다. 쓰레드 스택스택영역은 각가의 쓰레드 가지는 별도의 메모리 공간이다.쓰레드가 생성되면 스택 영역을 부여 받고, 실행시 run() 메서드가 스택 영역에 쌓이게 된다.스택에는 쓰레드가 메서드를 실행할 때 메서드 프레임이라는 형태로 쌓이게 되는데,이 메서드 프레임에는 호출한 메서드를 가지고 있는 인스턴스의 주소값과 메서드에서 사용되는 지역변수가 저장된다.쓰레드 간에 지역변수는 절대로 공유되지 않는다! 호출한 메서드를 가지고 있는 인스턴스의 주소값? 이 무엇일까?이 부분이 헷갈렸는데, 예시를 들어 살펴보자.// MyRunnable 은 Runnable의 구현체이다Thread t1 = new Thread(new MyRunna..