上下文 (電腦)
此條目翻譯品質不佳。 (2020年1月28日) |
在電腦科學中,任務(task)的上下文(英語:context)是一個任務所必不可少的一組數據(該任務可以是行程、線程)。這些數據允許任務中斷,在這之後仍可在同一個地方繼續執行。上下文的這一概念在中斷的任務的場景下具有重大意義,其中,任務在被中斷之後,處理器儲存上下文並提供中斷處理(interrupt service routine)。因此,上下文越小,延遲越小。
上下文的數據可能存放於處理器暫存器、任務所利用的主記憶體、某些作業系統管理的任務所使用的控制暫存器(control registers)。
context在其他語言的定義
Java
tomcat的javax.servlet.ServletContext
介面的官方文件如此描述,ServletContext定義了servlet與servlet容器通訊所需要的一組方法。[1]
Python
Python的一個經典語法——with陳述式上下文管理器。如下例:
with EXPRESSION as TARGET:
SUITE
Python 3的官方文件描述如下:[2]
上下文管理器是一個對象,它定義了在執行
with
陳述式時要建立的執行時上下文。上下文管理器處理進入和退出所需執行時上下文以執行代碼塊。通常使用with
陳述式(在with陳述式中描述),但是也可以通過直接呼叫它們的方法來使用。上下文管理器的典型用法包括儲存和恢復各種全域狀態,鎖定和解鎖資源,關閉打開的檔案等等。
在PEP-0343文件[3]中提到,context是一個曖昧的詞彙,並提及"runtime context"(執行時上下文)和"runtime environment"是類似的。
Go
Go語言的context包如此描述:context包定義了Context類型,該類型包含了截止日期、取消訊號以及跨API的行程間的其他用戶級別範圍的變數。[4]
外部連結
參考資料
- ^ ServletContext (Servlet 3.1 API Documentation - Apache Tomcat 8.0.53). tomcat.apache.org. [2020-01-15]. (原始內容存檔於2020-01-15).
- ^ 3. 数据模型 — Python 3.8.1 文档. docs.python.org. [2020-01-15]. (原始內容存檔於2020-04-27).
- ^ PEP 343 -- The "with" Statement. Python.org. [2020-01-15]. (原始內容存檔於2014-12-14) (英語).
- ^ context - The Go Programming Language. golang.org. [2020-01-15]. (原始內容存檔於2020-01-15).