我试图了解线程在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)
任何关于上述问题的信息都将对您有所帮助!
通常flyway在/ sql中查找查询.
但我wana给了一些不同的位置..那么c:/用户/查询.
如何配置flyway查看diff文件夹?