고루틴 보고 생각나서 비주얼스튜디오 2015에서 WINAPI로 스레드 핸들 반환 안될 때까지 계속 생성했는데, 32비트로 컴파일하면 1600개 가량에서 멈추는데 64비트에서는 거의 5000개 이상 끝없이 생성되네, 이거 무슨 문제려나? 스택 크기는 512바이트로 동일하게 맞췄는데, 스레드 수가 1600개에 스택이 512바이트면 1기가도 안되거든? 그럼 메모리 할당 문제는 아닌 거 같아.
이거 32비트랑 64비트에서 스레드 관리에 차이있는 거임?
제가 알기론... 32비트 콤퓨타랑 64비트 콤퓨타랑 한 프로세스에 부여하는 가상 공간이 차이가 납니다. 32비트는 32비트만큼하고 64비트는 제가 읽기론 48비트만큼 가상공간을 줍니당 - DCW
스레드는 결국 프로세스에 종속되어있는거고 따라서 부여된 가상 공간 이상으로 스레드를 만들 수는 없는것이졍 - DCW
16비트 차이는 결국 차이로따지면 6만배쯤 차이가 나능거니까요 32비트에샤 5000개 만들었으면 64비트 컴파일러에선 ... 6만배 ㄷㄷ(이 정도 까지는 안될듯) 암튼 차이가 크졍 - DCW
그리고 이건 좀 딴 말인데 계산을 해보니까 512바이트씩 1600개 해도 8메가 정도인데.... 프로젝트 설정에서 스택 크기 제한부분을 넉넉히 해서 다시 실험해보시는건 어떨지 아마 둘다 끝없이 생성되기는 마찬가지일텐데 - DCW