C# Program to create a Simple Thread

In C#, a thread represents a separate execution path that can run concurrently with other threads. The System.Threading.Thread class allows you to create and manage threads in your application.

To create a simple thread, you define a method that contains the code you want to execute, then create a Thread object using a ThreadStart delegate that points to your method.

Syntax

Following is the syntax for creating a thread −

Thread threadName = new Thread(new ThreadStart(methodName));
threadName.Start();

You can also use the simplified syntax −

Thread threadName = new Thread(methodName);
threadName.Start();

Basic Thread Creation

Here's how to create a simple thread that executes a method multiple times −

using System;
using System.Threading;

class Demo {
    public void myThread() {
        for (int i = 0; i 

The output of the above code is −

My Thread
My Thread
My Thread
Main thread finished

Using Lambda Expression

You can also create threads using lambda expressions for simpler code −

using System;
using System.Threading;

class Program {
    public static void Main() {
        Thread thread = new Thread(() => {
            for (int i = 1; i 

The output of the above code is −

Main thread continues...
Thread execution: 1
Thread execution: 2
Thread execution: 3
Thread execution: 4
Thread execution: 5
Thread completed

Multiple Threads Example

Here's an example showing multiple threads running concurrently −

using System;
using System.Threading;

class MultiThreadDemo {
    public static void WorkerThread(object threadName) {
        for (int i = 1; i 

The output of the above code is −

Thread-A: Task 1
Thread-B: Task 1
Thread-A: Task 2
Thread-B: Task 2
Thread-A: Task 3
Thread-B: Task 3
All threads completed

Key Methods

Method Description
Start() Begins thread execution
Join() Waits for the thread to complete
Sleep(milliseconds) Pauses the current thread for specified time
Abort() Terminates the thread (deprecated in .NET Core)

Conclusion

Creating threads in C# is straightforward using the Thread class and ThreadStart delegate. Use Start() to begin execution and Join() to wait for completion. Threads enable concurrent execution, improving application performance for CPU-intensive or I/O operations.

Updated on: 2026-03-17T07:04:35+05:30

628 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements