You need to execute code in its own thread, and you want complete control over the thread's state and operation.
Declare a method containing the code you want to execute. The method's signature must match that defined by the System.Threading.ThreadStart or System.Threading.ParameterizedThreadStart delegates. Create a new System.Threading.Thread object, and pass the method delegate as an argument to its constructor. Call the Thread.Start method to start the execution of your method.
How It Works
For maximum control and flexibility when creating multithreaded applications, you need to take a direct role in creating and managing threads. This is the most complex approach to multithreaded ...