Я разработчик, испытывающий трудности с различиями между терминами Call Stack и Task Queue. Есть ли кто-нибудь, кто может помочь мне объяснить разницу?Разница между «стеком вызовов» и «очередью задач»
Заранее спасибо.
Я разработчик, испытывающий трудности с различиями между терминами Call Stack и Task Queue. Есть ли кто-нибудь, кто может помочь мне объяснить разницу?Разница между «стеком вызовов» и «очередью задач»
Заранее спасибо.
Очередь заданий (иногда периодическая очередь), представляет собой структуру данных, поддерживаемую программным обеспечением планировщика заданий, содержащим выполняемые задания.
https://en.wikipedia.org/wiki/Job_queue
Стек вызовов представляет собой структуру данных стеки, которая хранит информацию об активных подпрограммах компьютерной программы. Этот тип стека также известен как стек выполнения, стек управления, стек времени выполнения или стек стека и часто сокращается до «стека».
https://en.wikipedia.org/wiki/Call_stack
Так короче говоря, очередь заданий является очередью вещей, чтобы сделать (обычно хранится Устойчивые) и стек вызовов является стек подпрограмм.
У задания будут назначены переменные, а стек вызовов будет абстрактной реализацией.
Таким образом, работа может «вызывать» метод из стека вызовов.
EDIT: Может быть список рабочих мест;
и каждое задание будет запускать стек вызовов несколько раз;
Первой работа
второй работы :
например.
В JavaScript есть функция, называемая таймаутом. когда вы вызываете тайм-аут функции в «стеке вызовов», он регистрируется в «очереди заданий». Он не срабатывает немедленно, но будет срабатывать по достижении времени.
timeout(function(){
console.log("one");
}, 100);
console.log("two");
в стеке вызовов, console.log("one")
запускается первым, но в очереди заданий, то результат будет отображаться после two
.
Хороший вопрос .. –
это хороший вопрос –