Поведение стека при добавлении нового потока - PullRequest
1 голос
/ 03 мая 2020

Что происходит со стеком, когда мы создаем новый поток? Если он попадает на вершину стека, то как это поток ?! Если он не попадает в начало потока, как программа узнает, где продолжить работу?

1 Ответ

0 голосов
/ 03 мая 2020

Каждый поток получает свой собственный стек. Таким образом, если исходный поток создает второй поток, то это не влияет на стек первого потока. И второй поток будет иметь свой собственный стек. Таким образом, в этом процессе существует два независимых стека - по одному на поток. Но каждый поток будет использовать только свой собственный поток. Операционная система видит оба потока и заботится о том, чтобы при переключении с одного потока на другой устанавливался / использовался правильный стек.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...