[JS] 關於Event Loop的一些名詞


Posted by OsmandLN on 2021-11-18

Javascript是一種單執行緒(single-thread)的程式語言,一次只能做一件事,同一時間一次只能執行一段程式碼。

  • stack(堆疊): 程式中要執行的程式碼堆疊的地方,並以一次一個的頻率執行程式碼。

  • callback/task queue(工作佇列): 存放callback function的地方,等著被丟進stack執行。

  • heap(堆積): 在程式中宣告、定義變數及函式等的記憶體位置。

  • blocking(阻塞): 阻塞並無明確定義,大致可解釋為call stack最上方的任務尚未完成,造成塞車,而瀏覽器無法執行後續的動作。

  • event loop(事件循環): 會持續檢查stack內是否已經為空,如果已經空了,就把工作佇列中的工作抓到stack中,讓其執行。

  • runtime(執行環境): 如果javascript在瀏覽器上面運作,那瀏覽器即為javascript的runtime。

  • asychronous(非同步): 好幾件事同時開始執行,但結束的時間點不同。

  • concurrency(並發性): 程式會把工作拆解成數個子任務,分派給不同的執行緒(thread)同時進行子任務。


#javascript







Related Posts

Day 104 期中測驗心得

Day 104 期中測驗心得

[ React 筆記 ] input使用useRef存取子元件

[ React 筆記 ] input使用useRef存取子元件

測試 webhook 不再煩惱:ngrok

測試 webhook 不再煩惱:ngrok


Comments