Threading (C# Programming Guide)
Threading enables your C# program to perform concurrent processing so you can do more than one operation at a time. For example, you can use threading to monitor input from the user, perform background tasks, and handle simultaneous streams of input. Thenamespace provides classes and interfaces that support multithreaded programming and enable you to easily perform tasks such as creating and starting new threads, synchronizing multiple threads, suspending threads, and aborting threads.
To incorporate threading in your C# code, simply create a function to be executed outside the main thread and point a newobject at it. The following code example creates a new thread in a C# application:
System.Threading.Thread newThread; newThread = new System.Threading.Thread(anObject.AMethod);
The following code example starts a new thread in a C# application:
Multithreading solves problems with responsiveness and multi-tasking, but can also introduce resource sharing and synchronization issues because threads are interrupted and resumed without warning according to a central thread scheduling mechanism. For more information, see Thread Synchronization. See Using Threads and Threading for overview information.
See the following topics for more information:
Other ResourcesThread Class
HOW TO: Synchronize Access to a Shared Resource in a Multithreading Environment by Using Visual C# .NET