스택 크기

스택 크기는 랩퍼 스레드 오브젝트 <env>Thread의 구현에 의해 판별되고, OMOSThread 인터페이스에서 파생됩니다. 특히 스택 크기는 스레드 작성 호출 시 실행되는 생성자 본문에서 정의됩니다. 예를 들어, VxWorks에 있는 VxThread 오브젝트에 대한 생성자에서 스택 크기는 VxOS.h에서 다음과 같이 OMOSThread::DefaultStackSize의 기본값으로 설정됩니다.

VxThread(void tfunc(void *), void *param,
   const char* const name = NULL,
   const long stackSize = 
   OMOSThread::DefaultStackSize);

OMOSThreadDefaultStackSize는 다음과 같이 VxOS.cpp 파일에서 DEFAULT_STACK(VxWorks의 경우 20000으로 정의됨)으로 설정됩니다.

const long OMOSThread::DefaultStackSize = DEFAULT_STACK;

모든 새 스레드에 대한 스택의 크기를 변경하려면 <env>OS.h 파일에서 DEFAULT_STACK의 정의를 변경하십시오. 또는 네 번째 매개변수로 다른 값을 스레드 생성자에 전달하여 특정 스레드에 맞게 스택의 크기를 변경할 수 있습니다.


피드백