Вопрос проверяет понимание изоляции потоков и того, почему локальные переменные и контекст выполнения не должны смешиваться между потоками.
Короткий ответ
У каждого потока свой stack, потому что каждый поток выполняет свой набор вызовов методов.
В стеке хранятся локальные переменные и состояние выполнения, которое нельзя разделять между потоками.
Если бы стек был общий, потоки мешали бы друг другу и ломали бы выполнение методов.
Раздельный стек обеспечивает изоляцию и безопасность выполнения.
Длинный ответ
Зарегистрироваться
Развернутый ответ доступен только зарегистрированным пользователям.