2015-11-23 66 views

回答

1

作業隊列(有時是批處理隊列),是由包含作業運行的作業調度程序軟件維護的數據結構。

https://en.wikipedia.org/wiki/Job_queue

調用堆棧是一個堆棧數據結構,其存儲關於計算機程序的活動子例程的信息。這種堆棧也被稱爲執行堆棧,控制堆棧,運行時堆棧或機器堆棧,並且通常縮短爲「堆棧」。

https://en.wikipedia.org/wiki/Call_stack

因此,在短期,作業隊列是要做的事情(通常儲存持續性),並調用堆棧隊列是程序的堆棧。

作業將分配給它的變量,並且調用堆棧將是抽象實現。

因此,一項工作可以從調用堆棧「調用」一種方法。編輯: 可能有一份工作清單;

  • 調整大小foo.jpg爲100x100
  • 調整大小bar.png爲100x100

和每個作業都運行調用堆棧多次;

第一份工作

  • 複製foo.jpg到內存
  • 調整它的大小是100×100
  • 保存調整大小foo.jpg在拇指夾

第二職業:

  • 複製bar.png到內存
  • 調整它的大小是100×100
  • Store中拇指夾
+0

那麼...什麼是堆棧溢出? – TrySpace

+0

這意味着有更多的東西可以放入一個堆棧:)它或者它是一個非常整潔的網站,您可以在其中找到答案和發佈問題。 –

+0

有更多問題而不是答案的網站。 :) – ChrisM

3

例如調整foo.jpg。

在JavaScript中有叫做超時的函數。當你在「調用棧」上調用函數超時時,它將在「作業隊列」中註冊。它不會立即觸發,但會在達到時間後觸發。

timeout(function(){ 
    console.log("one"); 
}, 100); 

console.log("two"); 

在調用堆棧,console.log("one")第一次被觸發,但在作業隊列中,結果將two後顯示。

相關問題