How-To Geek

Get a List of Threads in a Process

The System.Diagnostics namespace contains functions that allow you to manage processes, threads, eventlogs and performance information.

The System.Diagnostics.Process object gives you access to functionality enabling you to manage system processes and threads.


Add this line to your using list:

using System.Diagnostics;

You can get a list of ProcessThreads in a process by using the Process.Threads property, which returns a ProcessThreadCollection object.

Here’s a code example for you, assuming that you already have a Process object named theProcess.


ProcessThreadCollection threadlist = theProcess.Threads;

foreach(ProcessThread theThread in threadlist){
   Console.WriteLine("Thread ID:{0} Priority: {1} Started: {2}", 
theThread.Id, theThread.PriorityLevel, theThread.StartTime); }

Lowell Heddings, better known online as the How-To Geek, spends all his free time bringing you fresh geekery on a daily basis. You can follow him on if you'd like.

  • Published 11/23/06

Comments (2)

  1. mohamed basha

    it’s so very nice
    in this site more also c# for windows application
    and java script

  2. zsery

    It’s bad,

    this is processthread collection, not managet thread. Doesnt corespond with System.Thread , cant find by name of thread etc.

More Articles You Might Like

Enter Your Email Here to Get Access for Free:

Go check your email!