System.Threading.ThreadStart Delegate

Represents the method that executes on a System.Threading.Thread.


public delegate void ThreadStart ()


When a managed thread is created, the method that executes on the thread is represented by a System.Threading.ThreadStart delegate or a System.Threading.ParameterizedThreadStart delegate that is passed to the erload:System.Threading.Thread.#ctor constructor. The thread does not begin executing until the erload:System.Threading.Thread.Start method is called. Execution begins at the first line of the method represented by the System.Threading.ThreadStart or System.Threading.ParameterizedThreadStart delegate.


Visual Basic and C# users can omit the System.Threading.ThreadStart or System.Threading.ParameterizedThreadStart delegate constructor when creating a thread. In Visual Basic, use the AddressOf operator when passing your method to the erload:System.Threading.Thread.#ctor constructor; for example, Dim t As New Thread(AddressOf ThreadProc). In C#, simply specify the name of the thread procedure. The compiler selects the correct delegate constructor.



In version 2.0 of the .NET Framework, creating a System.Threading.ThreadStart delegate for a static method in C++ requires only one parameter: the address of the callback method, qualified by the class name. In earlier versions two parameters were required when creating a delegate for a static method: zero (null) and the method address. For an instance method, all versions require two parameters: the instance variable and the method address.


Namespace: System.Threading
Assembly: mscorlib (in mscorlib.dll)
Assembly Versions: 1.0.5000.0,,