ExecutionContext类与“上下文”有何关系?

问题描述

| 上下文在域内为有特殊需要的对象创建细分的“容器”(或在没有特殊需要的对象的情况下,使用认上下文)。 我很难理解ExecutionContext类如何与这些上下文相关。 它们是如何关联或不同的?

解决方法

“ 0”是一个容器,用于存储与线程执行有关的信息。因此,这几乎只是一个特殊的上下文。它具有一些简洁的属性,但是它们可能不适用于其他类型的上下文,这可以,因为不同的上下文可以有不同的用途。 从MSDN: ExecutionContext类提供了一个 单个容器提供所有信息 与逻辑线程有关 执行。这包括安全性 上下文,调用上下文和 同步上下文。 ExecutionContext类提供 用户代码的功能 捕获并传递此上下文 跨用户定义的异步 点。公共语言运行时 确保ExecutionContext是 持续转移 运行时定义的异步点 在托管过程中。 执行上下文是托管的 相当于COM公寓。中 一个应用程序域,整个 执行上下文必须转移 每当传输线程时。这个 转移过程中出现这种情况 通过Thread.Start方法,大多数 线程池操作和Windows 表单中的线程封送处理 Windows消息泵。它不是 发生在不安全的线程池操作中 (例如UnsafeQueueUserWorkItem 方法),而不会转移 压缩堆栈。 您可以在上面的链接中找到有关ExecutionContext的更多信息。