C# 计算操作系统(Windows/Linux)中的线程总数
如何使用C#/LINQ计算和显示操作系统中的线程总数, 基本上是在寻找这样的东西:C# 计算操作系统(Windows/Linux)中的线程总数,c#,linq,.net-core,C#,Linq,.net Core,如何使用C#/LINQ计算和显示操作系统中的线程总数, 基本上是在寻找这样的东西: var query = from p in Process.GetProcesses() select new { count = sum(p.Threads.Count) }; 也许吧 你也可以通过下面的方法得到 int count = Process.GetCurrentProcess().Threads.Count; 你在寻找这个:?不确定你实
var query = from p in Process.GetProcesses()
select new
{
count = sum(p.Threads.Count)
};
也许吧
你也可以通过下面的方法得到
int count = Process.GetCurrentProcess().Threads.Count;
你在寻找这个:?不确定你实际上在寻找什么,但有一点警告,当前的答案给出了当前创建的线程,例如,我的机器上的通用答案输出3347个线程,但这个数字与操作系统可能同时运行的数目不符。因此,如果我在哪里检查
ThreadState==ThreadState.Running
,结果只能得到9。vivek nuna的第二个答案将查询限制为CurrentProcess
,这样无论进程是否正在运行,您都只能得到一个表示您在自己的进程中创建的线程的数字。这里的查询用于检查ThreadState
-var runningCount=process.GetProcesses()。选择many(x=>x.Threads.OfType()).Count(x=>x.ThreadState==ThreadState.Running);
@RandRandom我想,你应该发布你的代码作为答案:)@PavelAnikhouski-正如我所说的“不确定你实际上在寻找什么”,所以我不知道OP想要什么,因此,我不愿意回答一个IMHO不清楚的问题,其目的是了解所有进程使用的系统中当前存在的线程的数量。您的查询似乎只针对当前进程
int count = Process.GetCurrentProcess().Threads.Count;