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