當前位置:法律諮詢服務網 - 企業資訊 - it部門是幹什麽的

it部門是幹什麽的

IT部門主要負責公司互聯網相關業務的,首先需要了解什麽是IT,it就是和互聯網打交道的崗位,比如網絡工程師,服務器運維工程師,開發人員等,這些都屬於IT部門。

1.內部使用 C 的 longjmp 機制讓出壹個協程?因此,如果壹個 C 函數 foo 調用了壹個 API 函數, 而這個 API 函數讓出了(直接或間接調用了讓出函數)。 由於 longjmp 會移除 C 棧的棧幀, Lua 就無法返回到 foo 裏了。

2.為了回避這類問題, 碰到 API 調用中調用讓出時,除了那些拋出錯誤的 API 外,還提供了三個函數: lua_yieldk, lua_callk,和 lua_pcallk 。 它們在讓出發生時,可以從傳入的 延續函數 (名為 k 的參數)繼續運行。

3.我們需要預設壹些術語來解釋延續點。?對於從 Lua 中調用的 C 函數,我們稱之為 原函數。?從這個原函數中調用的上面所述的三個 C API 函數我們稱之為 被調函數。 被調函數可以使當前線程讓出。 (讓出發生在被調函數是 lua_yieldk, 或傳入 lua_callk 或 lua_pcallk 的函數調用了讓出時。)

4.假設正在運行的線程在執行被調函數時讓出。?當再次延續這條線程,它希望繼續被調函數的運行。 然而,被調函數不可能返回到原函數中。 這是因為之前的讓出操作破壞了 C 棧的棧幀。 作為替代品,Lua 調用那個作為被調函數參數給出的 延續函數 。 正如其名,延續函數將延續原函數的任務。

5.註意這裏那個額外的顯式的對延續函數的調用:Lua 僅在需要時,這可能是由錯誤導致的也可能是發生了讓出而需要繼續運行,才會調用延續函數。 如果沒有發生過任何讓出,調用的函數正常返回, 那麽 lua_pcallk (以及 lua_callk)也會正常返回。 (當然,這個例子中妳也可以不在之後調用延續函數, 而是在原函數的調用後直接寫上需要做的工作。)

6.Lua 會把延續函數看作原函數。?延續函數將接收到和原函數相同的 Lua 棧,其接收到的 lua 狀態也和 被調函數若返回後應該有的狀態壹致。 (例如, lua_callk 調用之後, 棧中之前壓入的函數和調用參數都被調用產生的返回值所替代。) 這時也有相同的上值。 等到它返回的時候,Lua 會將其看待成原函數的返回去操作。

7.我們需要預設壹些術語來解釋延續點。?對於從 Lua 中調用的 C 函數,我們稱之為 原函數。 從這個原函數中調用的上面所述的三個 C API 函數我們稱之為 被調函數。 被調函數可以使當前線程讓出。 (讓出發生在被調函數是 lua_yieldk, 或傳入 lua_callk 或 lua_pcallk 的函數調用了讓出時。)

8.假設正在運行的線程在執行被調函數時讓出。?當再次延續這條線程,它希望繼續被調函數的運行。 然而,被調函數不可能返回到原函數中。 這是因為之前的讓出操作破壞了 C 棧的棧幀。 作為替代品,Lua 調用那個作為被調函數參數給出的 延續函數 。 正如其名,延續函數將延續原函數的任務。

希望能幫到妳,謝謝!

  • 上一篇:寧波象山建築公司總匯
  • 下一篇:群眾文化活動的總結與借鑒
  • copyright 2024法律諮詢服務網