相关疑难解决方法(0)

为什么这个简单的.NET控制台应用程序有这么多线程?

这个简单的程序从15个线程开始 - 根据计数.有时在它的一生中它会掉落一些,但它们会回来.

class Program
 {
     static void Main(string[] args)
     {
         while (true)
         {
             Console.WriteLine(Process.GetCurrentProcess().Threads.Count);
             Thread.Sleep(500);
         }
     }
 }
Run Code Online (Sandbox Code Playgroud)

我期待的过程,只是有一个线程(和我的直觉是由备份这个)

没有调试器,该进程只有(!)4个线程.当然任何CLR的东西都会隐藏在我的进程中?

这有多重要?这个过程真的有那么多线程吗?为什么?

.net c# multithreading

33
推荐指数
3
解决办法
3634
查看次数

.NET垃圾收集器 - 它的线程优先级是什么?

我发现了一些很棒的文章(Maoni,Richter#1,Richter#2)给出了关于GC的理论和实践的许多细节,但我找不到任何说明如何设置GC线程优先级的内容.

我发现的最接近的是这个表明Finalizer线程"以异步方式运行到应用程序并且具有高优先级".

我一直以为它是一个"低优先级"的线程,但是阅读越来越多关于它似乎是错误的(因为GC必须阻止所有其他线程,并且你不希望你的应用程序依赖于一个低优先级的线程,以便及时恢复).

有谁知道确切知道实际的优先级应该是什么?

.net garbage-collection

5
推荐指数
2
解决办法
2118
查看次数

标签 统计

.net ×2

c# ×1

garbage-collection ×1

multithreading ×1