Sunday, September 05, 2010

Threading in C#

PART 1: GETTING STARTED
Introduction and Concepts
C# supports parallel execution of code through multithreading. A thread is an independent execution path, able to run simultaneously with other threads.
A C# client program (Console, WPF, or Windows Forms) starts in a single thread created automatically by the CLR and operating system (the “main” thread), and is made multithreaded by creating additional threads. Here’s a simple example and its output:
All examples assume the following namespaces are imported:
using System;
using System.Threading;

class ThreadTest
{
 static void Main()
 {
   Thread t = new Thread (WriteY);          // Kick off a new thread
   t.Start();                               // running WriteY()
   // Simultaneously, do something on the main thread.
   for (int i = 0; i < 1000; i++) Console.Write ("x");
 }
 static void WriteY()
 {
   for (int i = 0; i < 1000; i++) Console.Write ("y");
 }
}