How to: Set a Thread Name in Managed Code

Note

This article applies to Visual Studio 2015. If you're looking for the latest Visual Studio documentation, use the version selector at the top left. We recommend upgrading to Visual Studio 2019. Download it here

Thread naming is possible in any edition of Visual Studio. Thread naming is useful for keeping track of threads in the Threads window. Because the Threads window is not available in the Visual Studio Express editions, thread naming has little utility in Express editions.

To set a thread name in managed code, use the Name property.

Example

Public Class Needle  
    ' This method will be called when the thread is started.  
    Sub Baz()  
        Console.WriteLine("Needle Baz is running on another thread")  
    End Sub  
End Class  
  
Sub Main()  
    Console.WriteLine("Thread Simple Sample")  
    Dim oNeedle As New Needle()  
   ' Create a Thread object.   
    Dim oThread As New System.Threading.Thread(AddressOf oNeedle.Baz)  
    ' Set the Thread name to "MainThread".  
    oThread.Name = "MainThread"  
    ' Starting the thread invokes the ThreadStart delegate  
    oThread.Start()  
End Sub  

See Also

Debug Multithreaded Applications
How to: Set a Thread Name in Native Code