.NET Framework Class Library
Thread.Name Property

Gets or sets the name of the thread.

Namespace: System.Threading
Assembly: mscorlib (in mscorlib.dll)

Syntax

Visual Basic (Declaration)
Public Property Name As String
Visual Basic (Usage)
Dim instance As Thread
Dim value As String

value = instance.Name

instance.Name = value
C#
public string Name { get; set; }
C++
public:
property String^ Name {
    String^ get ();
    void set (String^ value);
}
J#
/** @property */
public String get_Name ()

/** @property */
public void set_Name (String value)
JScript
public function get Name () : String

public function set Name (value : String)

Property Value

A string containing the name of the thread, or a null reference (Nothing in Visual Basic) if no name was set.
Exceptions

Exception typeCondition

InvalidOperationException

A set operation was requested, and the Name property has already been set.

Remarks

This property is write-once.

Example

The following code example shows how to name a thread.

Visual Basic
Imports System
Imports System.Threading

Public Class Name

    <MTAThread> _
    Shared Sub Main()

        ' Check whether the thread has previously been named
        ' to avoid a possible InvalidOperationException.
        If Thread.CurrentThread.Name = Nothing Then
            Thread.CurrentThread.Name = "MainThread"
        Else
            Console.WriteLine("Unable to name a previously " & _
                "named thread.")
        End If

    End Sub
End Class
C#
using System;
using System.Threading;

class Name
{
    static void Main()
    {
        // Check whether the thread has previously been named
        // to avoid a possible InvalidOperationException.
        if(Thread.CurrentThread.Name == null)
        {
            Thread.CurrentThread.Name = "MainThread";
        }
        else
        {
            Console.WriteLine("Unable to name a previously " +
                "named thread.");
        }
    }
}
C++
using namespace System;
using namespace System::Threading;
int main()
{
   
   // Check whether the thread has previously been named to
   // avoid a possible InvalidOperationException.
   if ( Thread::CurrentThread->Name == nullptr )
   {
      Thread::CurrentThread->Name =  "MainThread";
   }
   else
   {
      Console::WriteLine( "Unable to name a previously "
      "named thread." );
   }
}
J#
import System.*;
import System.Threading.*;
import System.Threading.Thread;

class Name
{
    public static void main(String[] args)
    {
        // Check whether the thread has previously been named
        // to avoid a possible InvalidOperationException.
        if (Thread.get_CurrentThread().get_Name() == null) {
            Thread.get_CurrentThread().set_Name("MainThread");
        }
        else {
            Console.WriteLine(("Unable to name a previously " 
                + "named thread."));
        } 
    } //main
} //Name
Platforms

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

Version Information

.NET Framework

Supported in: 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 2.0
See Also

Tags :


Page view tracker