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