![]() |
1
18
首先,现在不是19岁。 当运行一个“你好,世界!”WPF应用程序,我在任务管理器中看到10个线程。当使用Visual Studio调试器运行同一个应用程序时,它使用19。因此,首先,将其中9个因素作为调试器的开销添加。 现在为了10 . 根据一篇叫做 "Build More Responsive Apps With The Dispatcher" ,wpf从两个线程开始:
但是根据 this article ,所有托管应用程序中都有许多基本线程,无论是否为WPF:
从开始 二 从wpf中,添加gc和终结器以 四 . 要访问的调试器线程(所有托管应用程序在不调试时都有一个托管应用程序)中的外接程序 五 . 添加计时器 六 . 并且,在VS之外启动WPF应用程序之后,将调试器附加到它,我可以看到线程池中有两个工作线程。这可能是最低限度的。这使我的应用程序 八 . 有两个我不能解释清楚,但它们很可能是用于互操作的COM线程(它们绝对不是托管线程)。这个 second article 我引用了更多关于这些的讨论。 但这里故事的真正寓意是,不要担心他们。如果是香草“你好,世界!”应用程序使用10,这是你的基线。 只担心创建的线程超过了这个最小值。 |
|
Sei · Avalonia/WPF将路由器传递到控制模板 6 月前 |
![]() |
Barta · WPF MVVM不更新视图 7 月前 |
![]() |
Denis Ivanov · WPF控件在属性更改时不会更新 7 月前 |
![]() |
codymanix · WPF:TextBlock周围可见小边框? 7 月前 |
![]() |
Nostromo · 来自背景对象的工具提示 11 月前 |
![]() |
Nuvolari · 从可观测集合添加/删除时出现对象处理异常 1 年前 |
![]() |
CCarter · 只能在设计器中DependencyObject的DependencyProperty上设置显示“Binding”的WPF ICommand DependencyProperties[重复] 1 年前 |
![]() |
Thern · 在UI线程(WPF)上的void方法中调用异步函数 1 年前 |