Имеются ли в потоках и процессах независимые стеки? Если да, то в чем разница между ними? Спасибо заранее!В чем разница между стеком потока и стекем процесса
ответ
Процессы не имеют стека. Нитки. Обычно процесс представляет собой адресное пространство, некоторые ресурсы и один или несколько потоков. В потоках выполняется фактический код процесса, поэтому каждый из них имеет свой собственный стек.
вики статьи на стеков имеет больше информации http://en.wikipedia.org/wiki/Call_stack
Из того, что я знаю (и поправьте меня, если я ошибаюсь), каждый процесс дается свое собственное пространство памяти, которое содержит 3 сегмента: текст segement (т.е. программа), сегмент данных (насколько я знаю, это глобальные и статические переменные), сегмент стека, который содержит множество вещей, таких как локальные переменные, параметры функций, адрес, на который должен возвращаться функционал.
В каждом процессе может быть один или несколько потоков. Потоки процесса разделяют пространство памяти процесса, они не «обладают» собственными воспоминаниями, что упрощает их создание и завершение.
Давайте рассмотрим: процесс имеет свой собственный стек, нить не имеет собственного стека.
Если я ошибаюсь, не стесняйтесь меня исправлять.
На самом деле книга г-на Таненбаума «Операционные системы» охватывает эту проблему.
- 1. В чем разница между пользовательским стеком и встроенным стекем при использовании памяти?
- 2. В чем разница между стеком и кучей?
- 3. В чем разница между стеком MEAN и полным стеком
- 4. В чем разница между стеком ядра и стеке пользователя?
- 5. В чем разница между секцией и стеком в клинке?
- 6. В чем разница между dword и «стеком» в ассемблере
- 7. В чем разница между стеком и кучей в Java?
- 8. В чем разница между стопкой стека и стеком истории?
- 9. В чем разница между стеком процессов и стекю процессора?
- 10. Разница между списком и стеком в python?
- 11. Разница между стеком и стеком вызовов в многопоточности?
- 12. В чем разница между идентификатором процесса и дескриптором процесса
- 13. Какова основная разница между стеком и очередью?
- 14. В чем разница между программным стеком и ОС? почему Android не является ОС, а программным стеком?
- 15. Разница между «стеком вызовов» и «потоком стека»
- 16. Разница между полным стеком угловатым и средним
- 17. Разница между «стеком вызовов» и «очередью задач»
- 18. В чем разница между doGet() и doPost() в терминах потока?
- 19. В чем разница между процессом и образ процесса?
- 20. ReactPHP: В чем разница между процессом завершения и закрытием процесса?
- 21. В чем разница между читаемым и данным события потока process.stdin?
- 22. В чем разница между анализом потока данных и аббревиатурой Интерпретация
- 23. В чем разница между программированием потока данных и реактивным программированием?
- 24. В чем разница между проверкой потока и потоком?
- 25. В чем разница между & и | в Linux?
- 26. В чем разница между os.getuid() и os.geteuid()?
- 27. В чем разница между tf.train.MonitoredTrainingSession и tf.train.Supervisor
- 28. В чем разница между exit() и exit_group()
- 29. Почему 4 процесса лучше, чем 4 потока?
- 30. В чем разница между MSMQ и WF?