JoinableTaskContext 构造函数
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重载
| 名称 | 说明 |
|---|---|
| JoinableTaskContext() |
初始化类的新实例 JoinableTaskContext ,假设当前线程是主线程,并提供 Current 从另一个线程切换到主线程的方法。 |
| JoinableTaskContext(Thread, SynchronizationContext) |
初始化 JoinableTaskContext 类的新实例。 |
JoinableTaskContext()
初始化类的新实例 JoinableTaskContext ,假设当前线程是主线程,并提供 Current 从另一个线程切换到主线程的方法。
public:
JoinableTaskContext();
public:
JoinableTaskContext();
JoinableTaskContext();
public JoinableTaskContext();
Public Sub New ()
注解
null当Current调用此构造函数时,使用的主线程切换到主线程SwitchToMainThreadAsync(CancellationToken)的请求不会导致任何线程切换。 这适用于单元测试环境,其中没有主线程要切换到或进程,否则不定义主线程。
线程安全问题: 在没有同步上下文的情况下配置时,请求主线程的代码可能由于数据争用条件而发生故障。
适用于
JoinableTaskContext(Thread, SynchronizationContext)
初始化 JoinableTaskContext 类的新实例。
public JoinableTaskContext(System.Threading.Thread mainThread = default, System.Threading.SynchronizationContext synchronizationContext = default);
public JoinableTaskContext(System.Threading.Thread? mainThread = default, System.Threading.SynchronizationContext? synchronizationContext = default);
new Microsoft.VisualStudio.Threading.JoinableTaskContext : System.Threading.Thread * System.Threading.SynchronizationContext -> Microsoft.VisualStudio.Threading.JoinableTaskContext
Public Sub New (Optional mainThread As Thread = Nothing, Optional synchronizationContext As SynchronizationContext = Nothing)
参数
- mainThread
- Thread
要切换到的 SwitchToMainThreadAsync(CancellationToken)线程。
如果 null为当前线程,则假定当前线程为主线程。
- synchronizationContext
- SynchronizationContext
用于切换到主线程的同步上下文。
如果 null 指定(或省略参数),则将使用当前同步上下文。
如果 Current 也是 null这样,使用的请求切换到主线程 SwitchToMainThreadAsync(CancellationToken) 不会产生任何线程切换。
这适用于单元测试环境,其中没有主线程要切换到或进程,否则不定义主线程。
线程安全问题: 在没有同步上下文的情况下配置时,请求主线程的代码可能由于数据争用条件而发生故障。