小编Hig*_*row的帖子

如何在UWP中查找UI线程

我试图了解线程在UWP中的工作原理.

我的知识是:

1)每个应用程序窗口都有一个UI线程.和许多工人(或背景)线程.

2)UI元素只能通过UI线程访问.可以在后台线程中执行所有内存密集型计算,只需将值分配给UI线程以保持UI响应.

为此,使用 CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(()=>方法).

3)要检查线程是UI线程还是非UI线程,可以使用CoreApplication.MainView.CoreWindow.Dispatcher.HasThreadAccess.(如此处所述)

但,

当我尝试使用CoreApplication.MainView.CoreWindow.Dispatcher.HasThreadAccess时,它在大多数情况下返回True.(甚至来自工作线程类别)

此外,在线程窗口中调试时,在类别列下有一个主线程,它只有一个线程,如下所示:

在此输入图像描述

编辑:我的同事说,如果名称是工作线程,那么它的非GUI线程.

当我使用Observable.Start(来自System.Reactive)而不是Task.Run时,我得到两个这样的实例(没有名字),这违反了一个UI线程每个窗口概念:(

在此输入图像描述

问题是,

如何从列表中找到One Ui线程?或..是主线程UI线程?(但其托管ID为0)

任何关于上述问题的信息都将对您有所帮助!

c# multithreading asynchronous system.reactive uwp

9
推荐指数
1
解决办法
1068
查看次数

如何更改目录以在flyway中查找?

通常flyway在/ sql中查找查询.

但我wana给了一些不同的位置..那么c:/用户/查询.

如何配置flyway查看diff文件夹?

flyway

1
推荐指数
2
解决办法
4302
查看次数

标签 统计

asynchronous ×1

c# ×1

flyway ×1

multithreading ×1

system.reactive ×1

uwp ×1