上下文 (计算机)
此条目翻译品质不佳。 (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).