Csharp/C Sharp by API/System.Diagnostics/ProcessThread

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

ProcessThread.BasePriority

<source lang="csharp"> using System; using System.Diagnostics; class MainClass {

  public static void Main()
  {
     Process thisProc = Process.GetCurrentProcess();
     ProcessThreadCollection myThreads = thisProc.Threads;
     foreach(ProcessThread pt in myThreads)
     {
        Console.WriteLine("thread:  {0}", pt.Id);
        Console.WriteLine("    started: {0}", pt.StartTime);
        Console.WriteLine("    CPU time: {0}", pt.TotalProcessorTime);
        Console.WriteLine("    priority: {0}", pt.BasePriority);
        Console.WriteLine("    thread state: {0}", pt.ThreadState); 
     }
  }

}

 </source>


ProcessThread.StartTime

<source lang="csharp"> using System; using System.Diagnostics; class MainClass {

 public static void EnumThreadsForPid(int pID)
 {
   Process theProc;
   try {
     theProc = Process.GetProcessById(pID);
   } catch {
     Console.WriteLine("-> Sorry...bad PID!");
     return;
   }
   
   Console.WriteLine("Here are the thread IDs for: {0}", theProc.ProcessName);
   ProcessThreadCollection theThreads = theProc.Threads;
   foreach(ProcessThread pt in theThreads)
   {
     string info = string.Format("-> Thread ID: {0}\tStart Time {1}\tPriority {2}", pt.Id , pt.StartTime.ToShortTimeString(), pt.PriorityLevel);
     Console.WriteLine(info);
   }
 }
 static void Main(string[] args)
 {
   int theProcID = 10001;
   EnumThreadsForPid(theProcID);
 }

}

 </source>


ProcessThread.ThreadState

<source lang="csharp">

using System; using System.Diagnostics; class MainClass {

  public static void Main()
  {
     Process thisProc = Process.GetCurrentProcess();
     ProcessThreadCollection myThreads = thisProc.Threads;
     foreach(ProcessThread pt in myThreads)
     {
        Console.WriteLine("thread:  {0}", pt.Id);
        Console.WriteLine("    started: {0}", pt.StartTime);
        Console.WriteLine("    CPU time: {0}", pt.TotalProcessorTime);
        Console.WriteLine("    priority: {0}", pt.BasePriority);
        Console.WriteLine("    thread state: {0}", pt.ThreadState); 
     }
  }

}

 </source>


ProcessThread.TotalProcessorTime

<source lang="csharp"> using System; using System.Diagnostics; class MainClass {

  public static void Main()
  {
     Process thisProc = Process.GetCurrentProcess();
     ProcessThreadCollection myThreads = thisProc.Threads;
     foreach(ProcessThread pt in myThreads)
     {
        Console.WriteLine("thread:  {0}", pt.Id);
        Console.WriteLine("    started: {0}", pt.StartTime);
        Console.WriteLine("    CPU time: {0}", pt.TotalProcessorTime);
        Console.WriteLine("    priority: {0}", pt.BasePriority);
        Console.WriteLine("    thread state: {0}", pt.ThreadState); 
     }
  }

}

 </source>