Art*_*bin 6 .net wpf clr multithreading
我一直在Visual Studio中使用Concurrency Visualizer工具来了解我正在研究的WPF项目中的线程.应用程序不是多线程的,所有多线程都只是为了避免阻塞UI线程.当我运行Concurrency Visualizer时,我非常惊讶地看到大约50多个线程!为了让事情变得更加混乱,几乎所有这些50多个线程都花了他们的全部时间在"同步"中,据我所知,"同步"被"阻止".
作为一个实验,我创建了一个新的空白WPF应用程序项目,并使用Concurrency Visualizer运行它,令我惊讶的是,我希望有一个主要线程的应用程序,可能还有一两个用于垃圾收集或其他CLR的东西,原来有10个线程!

所以我的问题是:
对于这个问题,Jerry Bullard 给出了一个很好的答案:19 Threads for WPF Application
因此,除了 WPF UI 和渲染线程之外,还有不同类型的 .NET 线程:终结器、GC、调试器、计时器、线程池、主线程和后台线程。线程池至少有两个线程。这一切为我们提供了至少 10 个线程(就像您的屏幕截图中一样)。
| 归档时间: |
|
| 查看次数: |
501 次 |
| 最近记录: |