스택 메모리는 왜 아껴야 하는건가요?
기본적으로 힙과 스택이 어떤 식으로 사용되는지는 알고 있는데요,
다만 스택의 기본 최대 크기가 1MB라는 점이 잘 이해가 안됩니다..
아마 제가 실무를 경험해본 적이 없어서 공감을 못하는 듯한데
이 1MB라는 것이 기본값으로 쓰일 만큼 적절한 크기인가요?
제 생각엔 그렇게 널널한 크기는 아닌 듯한데.. 그렇게까지 아껴야 하는 이유가 뭘까 싶어서 질문드립니다
그냥 힙 영역을 최대한 많이 확보하기 위해서라고 생각하면 될까요?
답변 1
1
네, 크게 부족하지 않습니다. 스택이 메모리는 스레드마다 동일하게 부여됩니다. 싱글 스레딩 상황에서는 큰 문제가 없을지 모르지만 멀티스레딩 상황에서 불필요하게 스택 메모리를 높여버리면 모든 스레드가 스택을 크게 할당하게 되고 이는 스스로 생각하는 것처럼 힙영역 등 다른 용도 메모리 공간을 줄이는 원인이 됩니다. 결국 자원 운영 효율에 관한 문제로 이해하면 되겠습니다. 감사합니다.
병행성 제어
0
46
2
질문이 있습니다(강의와 거의 상관이 없는)
0
75
2
컴파일러 서적 질문입니다
0
161
1
코드생성 및 최적화 질문입니다
0
159
1
Hex Editor를 이용한 다국어 번역 관련 질문입니다
0
210
2
큐의 배열을 넘겨도 정상작동합니다
0
157
2
캐너리비트에 관하여 질문
0
210
3
상수화된 문자열에 질문있습니다
0
171
1
함수 호출 매개변수 전달에 대한 질문 드립니다.
0
189
1
단항 증감 연산에 따른 다른 접근에 대한 질문있습니다.
0
209
2
함수호출 규약 종류에 따른 장단점 여부
0
227
2
정적라이브러리 링크 오류
0
225
1
const char *를 char*에 초기화할때의 컴파일 에러 처리 방식 문의
0
353
2
pszParam 수정이 왜 Hello World print에도 영향을 미치는지 이해가 잘 안됩니다.
0
251
2
비선형 자료구조
0
311
1
자료 구조 공부 후에
0
353
1
강의자료 관련
0
253
1
마지막에 말씀하신 부분 질문드립니다.
0
213
1
문자열 관련 질문 드립니다
0
290
1
라이브러리
0
272
1
부동소수점
0
389
1
왜 변수 주소 사이에 offset이 있는 건가요?
0
301
2
stack 쌓는 순서
0
506
1
함수호출이랑 쓰레드
0
410
1





