上下文 (計算機)
此條目翻譯品質不佳。 (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).