Multi Threading
- Multi Threading is one of the rich features of .NET applications.
- Using this feature, the user is able to create multi-threaded applications.
- This concept is introduced in VC++. This is also supported by Java.
- Definition of Multi Threading: The ability of an application that maintains multiple threads at run time.
- Definition of Thread: The thread is a sub process (part of the process). That means it has some code to execute.
- Advantage of Multi-Threading: Using multi threading‖, you can break a complex task in a single application into multiple threads that execute independently and simultaneously.
- In other words, multi threading is the sub form of multi tasking.
- Before starting with the implementation of Multi Threading, you should recollect the concept of Multi-Tasking.
MULTI TASKING:
- Def: Ability of the OS, that is able to perform more than one task, at-a-time (simultaneously) is called as Multi-Tasking.
- As a part of this, OS allocates the CPU clock (CPU capacity) for each task.
Note: Just like multi-tasking, OS allocates the CPU clock for each thread.
THREADING ARCHITECTURE
Implementation of Multi Threading:
.NET Framework offers a namespace called “System.Threading” for implementation of multi threading.
This class object represents a thread.
- Import the API: using System.Threading;
- Create the Thread Object: Thread th = new Thread(method name);
- Start the Thread: th.Start()
Program for Multi-Threading
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
namespace SimpleThreadingDemo
{
class ThreadingDemo
{
private void FirstMethod()
{
for (int i = 1; i <= 300; i++)
Console.Write("i=" + i + " ");
}
private void SecondMethod()
{
for (int j = 1; j <= 300; j++)
Console.Write("j=" + j + " ");
}
public void Display()
{
Thread th1 = new Thread(FirstMethod);
Thread th2 = new Thread(SecondMethod);
th1.Start();
th2.Start();
}
}
class Program
{
static void Main(string[] args)
{
ThreadingDemo td = new ThreadingDemo();
td.Display();
Console.Read();
}
}
}

No comments:
Post a Comment