# 上下文与作用域

上下文(context)是一段程序运行所需要的最小数据集合。我们可以从上下文交换(context switch) 来理解上下文,在多进程或多线程环境中,任务切换时首先要中断当前的任务,将计算资源交给下一个任务。因为稍后还要恢复之前的任务,所以中断的时候要保存现场,即当前任务的上下文,也可以叫做环境。即上下文就是恢复现场所需的最小数据集合。

作用域(scope) 时标识符(变量)在程序中的可见性范围。作用域规则是按照具体规则维护标识的可见性,以确定当前执行的代码对这些标识符的访问权限。作用域实在具体的作用域规则之下确定的。

联系:有时候上下文、环境、作用域是同义词,不过上下文指代的是整体环境,作用域关注的是标识符(变量)的可访问性(可见性)。上下文确定了,根据具体编程语言的作用域规则,作用域也就确定了。这就是上下文与作用域的关系。