Стек растет соответственно платформе.Подробнее см. в этом вопросе .
Помимо направления увеличения стека, когда вам необходимо увеличить размер стека, диспетчеры памяти запрашивают непрерывный блок виртуальной памяти в направлении егодолжен расти, если этот запрос может быть удовлетворен, ваш стек увеличивается, в противном случае запрос завершается неудачей.
Ошибка обрабатывается по-разному, в зависимости от архитектуры оборудования, операционной системы и конфигураций.Например, стандартное приложение пользовательского режима в Windows обычно дает сбой из-за того, что «недостаточно памяти для выполнения операции», но ошибка может варьироваться в зависимости от возможности повреждения.
Каждому потоку назначается диапазон смежных виртуальных адресовпо началу.Это значение определяется по порядку компилятором, который может быть переопределен вами и, наконец, переопределен операционной системой.Вы можете разбить процесс, просто запустив достаточное количество потоков без выполнения номера (кроме исчерпания дескриптора, которое здесь неактуально).