C# | Thread(ThreadStart) Constructor
Last Updated :
01 Feb, 2019
Improve
Thread(ThreadStart) Constructor is used to initialize a new instance of a Thread class. This constructor will give ArgumentNullException if the value of the parameter is null.
Syntax:
CSharp
Output:
CSharp
Output:
public Thread(ThreadStart start);Here, ThreadStart is a delegate which represents a method to be invoked when this thread begins executing. Below programs illustrate the use of Thread(ThreadStart) Constructor: Example 1:
// C# program to illustrate the
// use of Thread(ThreadStart)
// constructor with static method
using System;
using System.Threading;
// Driver Class
class GFG {
// Main Method
public static void Main()
{
// Creating and initializing a thread
// with Thread(ThreadStart) constructor
Thread thr = new Thread(new ThreadStart(Job));
thr.Start();
}
// Static method
public static void Job()
{
Console.WriteLine("Number is :");
for (int z = 0; z < 4; z++) {
Console.WriteLine(z);
}
}
}
Number is : 0 1 2 3Example 2:
// C# program to illustrate the
// use of Thread(ThreadStart)
// constructor with Non-static method
using System;
using System.Threading;
class GThread {
// Non-static method
public void Job()
{
for (int z = 0; z < 3; z++) {
Console.WriteLine("HELLO...!!");
}
}
}
// 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
// with Thread(ThreadStart) constructor
Thread thr = new Thread(new ThreadStart(obj.Job));
thr.Start();
}
}
HELLO...!! HELLO...!! HELLO...!!Reference: