Существует ли семантическая разность между терминами call stack
и thread stack
, в многопоточности Java?Разница между «стеком вызовов» и «потоком стека»
ответ
Каждый поток имеет свой стек вызовов, «стек вызовов» и «поток стека» - это одно и то же. Вызов «стека потоков» просто подчеркивает, что стек вызовов специфичен для потока.
Bill Venners calls this the Java stack:
Когда новый поток запускается виртуальная машина Java создает новый стек Java для потока. Как упоминалось ранее, Java-стек сохраняет состояние потока в дискретных кадрах. Виртуальная машина Java выполняет только две операции непосредственно на Java Stacks: она выталкивает и создает кадры.
Метод, который в настоящее время выполняется потоком, является текущим методом потока. Кадр стека для текущего метода - это текущий кадр. Класс, в котором определяется текущий метод, называется текущим классом, а текущий пул текущего класса является текущим постоянным пулом. По мере выполнения метода виртуальная машина Java отслеживает текущий класс и текущий пул констант. Когда виртуальная машина встречает инструкции, которые работают с данными, хранящимися в фрейме стека, она выполняет эти операции с текущим фреймом.
Когда поток вызывает метод Java, виртуальная машина создает и толкает новый кадр в стек Java потока. Этот новый кадр становится текущим фреймом. По мере выполнения метода он использует фрейм для хранения параметров, локальных переменных, промежуточных вычислений и других данных.
A call stack
является stack data structure
, в котором хранится информация об активных подпрограммах компьютерной программы.
То, что вы называете thread stack
, является тем, что я предполагаю, это частный стек потока.
Эти две вещи по существу одинаковы. Они равны stack data structures
.
стека потока используется для хранения местоположение вызовов функций, с тем чтобы обеспечить возвращение заявления вернуться в правильное место
Поскольку обычно только один важный стек вызовов, это то, что люди см. стек.
Here - информация о стеке.
Here - информация о распределении памяти на основе стека.
Каждый поток имеет свой собственный стек, каждый вызов метода использует новую область этого стека. Это означает, что когда метод вызывает себя (рекурсия), он будет иметь новый набор локальных переменных.
- 1. Разница между стеком и стеком вызовов в многопоточности?
- 2. Разница между «стеком вызовов» и «очередью задач»
- 3. В чем разница между стеком MEAN и полным стеком
- 4. В чем разница между стопкой стека и стеком истории?
- 5. разница между стека и кучи
- 6. Какова основная разница между стеком и очередью?
- 7. вызовов управление стеком
- 8. Разница между потоком байтов и потоком бит
- 9. Разница между полным стеком угловатым и средним
- 10. В чем разница между стеком и кучей?
- 11. Разница между списком и стеком в python?
- 12. Разница между шагом выхода и стек вызовов
- 13. В чем разница между стеком ядра и стеке пользователя?
- 14. В чем разница между стеком процессов и стекю процессора?
- 15. Разница между стеком и функциями гнезда в d3?
- 16. Как linux управляет потоком стека
- 17. Повреждение стека вызовов между границами
- 18. В чем разница между рабочим потоком и потоком ввода-вывода?
- 19. Разница между потоком управления и потоком данных в ssis
- 20. В чем разница между потоком пользовательского интерфейса и потоком Render?
- 21. В чем разница между потоком диспетчера и потоком пользовательского интерфейса
- 22. Разница между потоком (методом) и потоком (новый параметр ParameterizedThreadStart (метод))
- 23. Разница между параллельным потоком и CompletableFuture
- 24. В чем разница между представлением и потоком?
- 25. Разница между файловым путем и файловым потоком?
- 26. Какая разница между чтением файла и потоком?
- 27. Разница между сервисом и потоком в Android?
- 28. Разница между разреженным и плотным оптическим потоком?
- 29. Bacon.js: практическая разница между потоком и свойством
- 30. В чем разница между потоком и файлом?
Я всегда думал о них как о том же. Но я хочу, чтобы мой мир был разрушен другими мнениями. – sstan