Nombrar un hilo y obtener el nombre del hilo actual en C#

Un hilo es un proceso ligero dentro de un proceso. En C#, un usuario puede asignar un nombre al subproceso y también encontrar el nombre del subproceso de trabajo actual mediante la propiedad Thread.Name de la clase Thread.

Sintaxis:

public string Name { get; set; }

Aquí, la string contiene el nombre del subproceso o nulo si no se asignó o estableció ningún nombre.

Puntos importantes:

  • El valor predeterminado de la propiedad Nombre es nulo.
  • La string dada a la propiedad de nombre puede incluir cualquier carácter Unicode.
  • La propiedad de nombre de la clase Thread es de una sola escritura.
  • Si se solicitó una operación de establecimiento, pero la propiedad Nombre ya se ha establecido, dará InvalidOperationException.

Ejemplo 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();
    }
}

Producción:

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

Ejemplo 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");
        }
    }
}

Producción:

The name of the thread is MyThread

Referencia:

Publicación traducida automáticamente

Artículo escrito por ankita_saini y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *