Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 计算操作系统(Windows/Linux)中的线程总数_C#_Linq_.net Core - Fatal编程技术网

C# 计算操作系统(Windows/Linux)中的线程总数

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; 你在寻找这个:?不确定你实

如何使用C#/LINQ计算和显示操作系统中的线程总数, 基本上是在寻找这样的东西:

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;