非同步事件的處理機制 上下文與執行流

2022-06-27 01:51:09 字數 717 閱讀 3900

一、非同步事件的處理機制

1、事件佇列機制

2、中斷機制

二、異常、非同步與執行流

1、異常:

異常是切換到新的執行流以後,原來的執行流不再儲存。

2、非同步:

非同步是切換到新的執行流,執行完畢後再切換到原來的執行流。

三、兩個核心:

1、上下文:

儲存了執行流的上下文(先後順序);上下文是執行流資訊的結構化描述。

可以是非同步型別,也可以是執行緒棧。

2、執行流:

執行邏輯。

四、處理機制與執行緒

1、執行緒的事件迴圈:

新的執行流的上下文作為訊息,進入訊息的派發佇列;

2、中斷

原來的執行流上線文由中斷棧儲存。

執行新的指令流。

執行完畢後切換到原來的中斷棧。

五、其它補充

linux中有幾種棧?各種棧的記憶體位置?

介紹完棧的工作原理和用途作用後,我們回歸到 linux 核心上來。核心將棧分成四種:

四、中斷棧

程序陷入核心態的時候,需要核心棧來支援核心函式呼叫。中斷也是如此,當系統收到中斷事件後,進行中斷處理的時候,也需要中斷棧來支援函式呼叫。由於系統中斷的時候,系統當然是處於核心態的,所以中斷棧是可以和核心棧共享的。但是具體是否共享,這和具體處理架構密切相關。

js執行上下文與執行上下文棧

在了解js的執行上下文物件與執行上下文棧之前,我們要先了解兩個概念 即變數提公升跟函式提公升 變數提公升 通過var定義的變數,在定義語句之前我們就可以直接訪問到,不過它的值是undefined 函式提公升 通過function定義的函式,在函式定義語句前,我們就可以直接呼叫 變數提公升與函式提公升...

JS高階(6) 執行上下文與執行上下文棧

一 變數提公升和函式提公升 變數宣告提公升 函式宣告提公升 面試題 輸出 undefined undefined 變數提公升 fn2 可呼叫 函式提公升 fn3 不能 變數提公升 二 執行上下文 分類 根據位置分 全域性執行上下文 開始執行全域性 函式執行上下文 開始執行函式體 三 執行上下文棧 在...

作用域與執行上下文

1.區別1 全域性作用域之外,每個函式都會建立自己的作用域,作用域在函式定義時就已經確定了,而不是在函式呼叫時 全域性執行上下文環境是在全域性作用域確定之後,js 馬上執行之前建立 函式執行上下文環境是在呼叫函式時,函式體 執行之前建立 2.區別2 作用域是靜態的,只要函式定義好了就一直存在,且不會...