Open In App

Naming a thread and fetching name of current thread in C#

Improve
Improve
Like Article
Like
Save
Share
Report

A thread is a light-weight process within a process. In C#, a user is allowed to assign a name to the thread and also find the name of the current working thread by using the Thread.Name property of the Thread class.

Syntax :

public string Name { get; set; }

Here, the string contains the name of the thread or null if no name was assigned or set.

Important Points:

  • The by default value of the Name property is null.
  • The string given to the name property can include any Unicode Character.
  • The name property of Thread class is write-once.
  • If a set operation was requested, but the Name property has already set, then it will give InvalidOperationException.

Example 1:




// C# program to illustrate the 
// concept of assigning names 
// to the thread and fetching
// name of the current working thread
using System;
using System.Threading;
  
class Geek {
  
    // Method of Geek class
    public void value()
    {
        // Fetching the name of 
        // the current thread
        // Using Name property
        Thread thr = Thread.CurrentThread;
        Console.WriteLine("The name of the current "+
                           "thread is: " + thr.Name);
    }
}
  
// Driver class
public class GFG {
  
    // Main Method
    static public void Main()
    {
  
        // Creating object of Geek class
        Geek obj = new Geek();
  
        // Creating and initializing threads
        Thread thr1 = new Thread(obj.value);
        Thread thr2 = new Thread(obj.value);
        Thread thr3 = new Thread(obj.value);
        Thread thr4 = new Thread(obj.value);
  
        // Assigning the names of the threads
        // Using Name property
        thr1.Name = "Geeks1";
        thr2.Name = "Geeks2";
        thr3.Name = "Geeks3";
        thr4.Name = "Geeks4";
  
        thr1.Start();
        thr2.Start();
        thr3.Start();
        thr4.Start();
    }
}


Output:

The name of the current thread is: Geeks2
The name of the current thread is: Geeks3
The name of the current thread is: Geeks4
The name of the current thread is: Geeks1

Example 2:




// C# program to illustrate the 
// concept of giving a name to thread
using System;
using System.Threading;
  
class Name {
    static void Main()
    {
  
        // Check whether the thread
        // has already been named
        // to avoid InvalidOperationException
        if (Thread.CurrentThread.Name == null) {
  
            Thread.CurrentThread.Name = "MyThread";
            Console.WriteLine("The name of the thread is MyThread");
        }
        else {
            Console.WriteLine("Unable to name the given thread");
        }
    }
}


Output:

The name of the thread is MyThread

Reference:



Last Updated : 24 Jan, 2019
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads