Thread.Start Method es responsable de programar la ejecución de un subproceso. Este método se puede sobrecargar pasándole diferentes parámetros.
- Comienzo()
- Inicio (Objeto)
Comienzo()
Este método le dice al sistema operativo que cambie el estado de la instancia actual a En ejecución. O en otras palabras, debido a este método, el hilo comienza su ejecución.
Sintaxis:
public void Start ();
Excepciones:
- ThreadStateException: si el hilo ya se ha iniciado.
- OutOfMemoryException: si no hay suficiente memoria disponible para iniciar un hilo.
Ejemplo:
// C# program to illustrate the // use of Start() method using System; using System.Threading; class GThread { // Non-static method public void Job() { for (int X = 0; X < 4; X++) { Console.WriteLine(X); } } } // Driver Class public class GFG { // Main Method public static void Main() { // Creating object of GThread class GThread obj = new GThread(); // Creating and initializing a thread Thread thr = new Thread(new ThreadStart(obj.Job)); // Start the execution of Thread // Using Start() method thr.Start(); } }
Producción:
0 1 2 3
Inicio (Objeto)
Este método le dice al sistema operativo que cambie el estado de la instancia actual a En ejecución. Pasa un objeto que contiene datos para ser utilizados por el método que ejecuta el subproceso. Este parámetro es opcional.
Sintaxis:
public void Start (object parameter);
Aquí, el parámetro es un objeto que contiene datos que utilizará el método que ejecuta el subproceso.
Excepciones:
- ThreadStateException: si el hilo ya se ha iniciado.
- OutOfMemoryException: si no hay suficiente memoria disponible para iniciar un hilo.
- InvalidOperationException: si el subproceso se creó con un delegado de ThreadStart en lugar de un delegado de ParameterizedThreadStart.
Ejemplo:
// C# program to illustrate the // use of Start(Object) method using System; using System.Threading; // Driver Class class GFG { // Main Method public static void Main() { // Creating object of GFG class GFG obj = new GFG(); // Creating and initializing threads Thread thr1 = new Thread(obj.Job1); Thread thr2 = new Thread(Job2); // Start the execution of Thread // Using Start(Object) method thr1.Start(01); thr2.Start("Hello") } // Non-static method public void Job1(object value) { Console.WriteLine("Data of Thread 1 is: {0}", value); } // Static method public static void Job2(object value) { Console.WriteLine("Data of Thread 2 is: {0}", value); } }
Producción:
Data of Thread 1 is: 1 Data of Thread 2 is: Hello
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