1微信网站怎么建设,长宁区网站建设网页,做海外网站交税吗,廉政网站建设经验交流把 async 关键字用于 UWP 应用程序#xff0c;需要注意#xff0c;在 UI 线程中调用 await 之后#xff0c;当异步方法返回时#xff0c;将默认返回到 UI 线程中。这便于在异步方法完成后更新 UI 元素。注意为了创建 UWP 应用程序#xff0c;需要 Windows 10#xff0c;W… 把 async 关键字用于 UWP 应用程序需要注意在 UI 线程中调用 await 之后当异步方法返回时将默认返回到 UI 线程中。这便于在异步方法完成后更新 UI 元素。注意为了创建 UWP 应用程序需要 Windows 10Windows 系统必须在 “开发人员模式” 下配置。启用 “开发人员模式” 时需要打开 Windows 设置选择 Update Security 磁贴选择 For developers 类别并单击单选按钮 Developermode。这样系统就可以运行旁路的应用程序了(未从 Windows Store 中安装的应用程序)并为 “开发人员模式” 添加一个 Windows 包。为了理解功能和问题创建一个通用 Windows 应用程序。这个应用程序包含 5个 按钮和一个TextBlock元素来演示不同的场景StackPanelButton ContentStart Async ClickOnStartAsync Margin4 /Button ContentStart Async with Config ClickOnStartAsyncConfigureAwaitMargin4 /Button Contentstart Async with thread switchClickOnStartAsyncWithThreadSwitch Margin4 /Button ContentUse IAsyncOperation ClickOnIAsyncOperation Margin4 /Button ContentDeadlock ClickOnStartDeadlock Margin4 /TextBlock x:Nametext1 Margin4 /
/StackPanel在 OnStartAsync 方法中UI 线程的线程 ID 写入 TextBlock 元素。接下来调用异步方法 Task.Delay它不阻塞 UI 线程在此方法完成后线程 ID 将再次写入TextBlockprivate async void OnstartAsync(object sender, RoutedEventArgs e)
{text1.Text $UI thread: {GetThread()};await Task.Delay(1000);text1.Text $in after await: {GetThread()};
}为了访问线程 ID可以使用 Environment 类。在 UWP 应用程序中Thread 类是无效的 —— 至少在构建版本 15063 之前是这样的private string GetThread() $thread: {Environment.CurrentManagedThreadId);运行应用程序时可以在文本元素中看到类似的输出。与控制台应用程序相反UWP 应用程序定义了一个同步上下文在等待之后可以看到与以前相同的线程。这允许直接访问 UI 元素UI thread: thread 3
after awaitthread 3