Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

Thread.Start-Methode: (Object)

 

Veröffentlicht: Oktober 2016

Bewirkt, dass das Betriebssystem den Zustand der aktuellen Instanz in ThreadState.Running ändert, und stellt optional ein Objekt mit Daten bereit, die von der vom Thread ausgeführten Methode verwendet werden sollen.

Namespace:   System.Threading
Assembly:  mscorlib (in mscorlib.dll)

[HostProtectionAttribute(SecurityAction.LinkDemand, Synchronization = true, 
	ExternalThreading = true)]
public void Start(
	object parameter
)

Parameter

parameter
Type: System.Object

Ein Objekt mit Daten, die von der vom Thread ausgeführten Methode verwendet werden sollen.

Exception Condition
ThreadStateException

Der Thread wurde bereits gestartet.

OutOfMemoryException

Es ist nicht genügend Speicher zum Starten dieses Threads verfügbar.

InvalidOperationException

Dieser Thread wurde mithilfe eines ThreadStart-Delegaten anstelle eines ParameterizedThreadStart-Delegaten erstellt.

Once a thread is in the F:System.Threading.ThreadState.Running state, the operating system can schedule it for execution. The thread begins executing at the first line of the method represented by the T:System.Threading.ThreadStart or T:System.Threading.ParameterizedThreadStart delegate supplied to the thread constructor. Note that the call to M:System.Threading.Thread.Start(System.Object) does not block the calling thread.

Once the thread terminates, it cannot be restarted with another call to Start.

This overload and the T:System.Threading.ParameterizedThreadStart delegate make it easy to pass data to a thread procedure, but the technique is not type safe because any object can be passed to this overload. A more robust way to pass data to a thread procedure is to put both the thread procedure and the data fields into a worker object. For more information, see Creating Threads.

The following example creates a T:System.Threading.ParameterizedThreadStart delegate with a static method and an instance method.

using System;
using System.Threading;

public class Work
{
    public static void Main()
    {
        // Start a thread that calls a parameterized static method.
        Thread newThread = new Thread(Work.DoWork);
        newThread.Start(42);

        // Start a thread that calls a parameterized instance method.
        Work w = new Work();
        newThread = new Thread(w.DoMoreWork);
        newThread.Start("The answer.");
    }

    public static void DoWork(object data)
    {
        Console.WriteLine("Static thread procedure. Data='{0}'",
            data);
    }

    public void DoMoreWork(object data)
    {
        Console.WriteLine("Instance thread procedure. Data='{0}'",
            data);
    }
}
// This example displays output like the following:
//       Static thread procedure. Data='42'
//       Instance thread procedure. Data='The answer.'

.NET Framework
Verfügbar seit 2.0
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.0
Zurück zum Anfang
Anzeigen: