-
Book Overview & Buying
-
Table Of Contents
-
Feedback & Rating

Multithreading with C# Cookbook, Second Edition
By :

Throughout the following recipes, we will use Visual Studio 2015 as the main tool to write multithreaded programs in C#. This recipe will show you how to create a new C# program and use threads in it.
A free Visual Studio Community 2015 IDE can be downloaded from the Microsoft website and used to run the code samples.
To work through this recipe, you will need Visual Studio 2015. There are no other prerequisites. The source code for this recipe can be found in the BookSamples\Chapter1\Recipe1
directory.
Downloading the example code
You can download the example code files for this book from your account at http://www.packtpub.com. If you purchased this book elsewhere, you can visit http://www.packtpub.com/support and register to have the files e-mailed directly to you.
You can download the code files by following these steps:
Once the file is downloaded, please make sure that you unzip or extract the folder using the latest version of:
To understand how to create a new C# program and use threads in it, perform the following steps:
Program.cs
file, add the following using
directives:using System; using System.Threading; using static System.Console;
Main
method:static void PrintNumbers() { WriteLine("Starting..."); for (int i = 1; i < 10; i++) { WriteLine(i); } }
Main
method:Thread t = new Thread(PrintNumbers); t.Start(); PrintNumbers();
In step 1 and 2, we created a simple console application in C# using .Net Framework version 4.0. Then, in step 3, we included the System.Threading
namespace, which contains all the types needed for the program. Then, we used the using static
feature from C# 6.0, which allows us to use the System.Console
type's static methods without specifying the type name.
An instance of a program that is being executed can be referred to as a process. A process consists of one or more threads. This means that when we run a program, we always have one main thread that executes the program code.
In step 4, we defined the PrintNumbers
method, which will be used in both the main and newly created threads. Then, in step 5, we created a thread that runs
PrintNumbers
. When we construct a thread, an instance of the ThreadStart
or ParameterizedThreadStart
delegate is passed to the constructor. The C# compiler creates this object behind the scenes when we just type the name of the method we want to run in a different thread. Then, we start a thread and run PrintNumbers
in the usual manner on the main thread.
As a result, there will be two ranges of numbers from 1 to 10 randomly crossing each other. This illustrates that the PrintNumbers
method runs simultaneously on the main thread and on the other thread.
Change the font size
Change margin width
Change background colour