(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

Thread-Klasse

Erstellt und steuert einen Thread, legt dessen Priorität fest und ruft den Status ab.

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

[ComVisibleAttribute(true)]
[ClassInterfaceAttribute(ClassInterfaceType.None)]
public sealed class Thread : CriticalFinalizerObject, 
	_Thread

Der Thread-Typ macht die folgenden Member verfügbar.

  NameBeschreibung
Öffentliche MethodeThread(ParameterizedThreadStart)Initialisiert eine neue Instanz der Thread-Klasse und gibt dabei einen Delegaten an, der das Übergeben eines Objekts an den Thread bei dessen Start ermöglicht.
Öffentliche MethodeUnterstützt von XNA FrameworkThread(ThreadStart)Initialisiert eine neue Instanz der Thread-Klasse.
Öffentliche MethodeThread(ParameterizedThreadStart, Int32)Initialisiert eine neue Instanz der Thread-Klasse und gibt dabei einen Delegaten, der das Übergeben eines Objekts an den Thread bei dessen Start ermöglicht, sowie eine maximale Stapelgröße für den Thread an.
Öffentliche MethodeUnterstützt von XNA FrameworkThread(ThreadStart, Int32)Initialisiert eine neue Instanz der Thread-Klasse und gibt die maximale Stapelgröße für den Thread an.
Zum Seitenanfang

  NameBeschreibung
Öffentliche EigenschaftApartmentState Veraltet. Ruft den Apartmentzustand dieses Threads ab oder legt diesen fest.
Öffentliche EigenschaftStatischer MemberCurrentContextRuft den aktuellen Kontext ab, in dem der Thread ausgeführt wird.
Öffentliche EigenschaftUnterstützt von  Portable KlassenbibliothekCurrentCultureRuft die Kultur für den aktuellen Thread ab oder legt diese fest.
Öffentliche EigenschaftStatischer MemberCurrentPrincipalRuft den aktuellen Principal des Threads (für rollenbasierte Sicherheit) ab oder legt diesen fest.
Öffentliche EigenschaftStatischer MemberUnterstützt von XNA FrameworkUnterstützt von  Portable KlassenbibliothekCurrentThreadRuft den derzeit ausgeführten Thread ab.
Öffentliche EigenschaftUnterstützt von  Portable KlassenbibliothekCurrentUICultureRuft die aktuelle Kultur ab, mit deren Hilfe der Ressourcen-Manager zur Laufzeit kulturabhängige Ressourcen sucht, oder legt diese fest.
Öffentliche EigenschaftExecutionContextRuft ein ExecutionContext-Objekt ab, das Informationen zu den verschiedenen Kontexten des aktuellen Threads enthält.
Öffentliche EigenschaftIsAliveRuft einen Wert ab, der den Ausführungsstatus des aktuellen Threads angibt.
Öffentliche EigenschaftUnterstützt von XNA FrameworkIsBackgroundRuft einen Wert ab, der angibt, ob es sich bei einem Thread um einen Hintergrundthread handelt, oder legt diesen fest.
Öffentliche EigenschaftIsThreadPoolThreadRuft einen Wert ab, der angibt, ob ein Thread zu dem verwalteten Threadpool gehört.
Öffentliche EigenschaftUnterstützt von XNA FrameworkUnterstützt von  Portable KlassenbibliothekManagedThreadIdRuft einen eindeutigen Bezeichner für den aktuellen verwalteten Thread ab.
Öffentliche EigenschaftUnterstützt von XNA FrameworkNameRuft den Namen des Threads ab oder legt diesen fest.
Öffentliche EigenschaftUnterstützt von XNA FrameworkPriorityRuft einen Wert ab, der die Planungspriorität eines Threads angibt, oder legt diesen fest.
Öffentliche EigenschaftThreadStateRuft einen Wert ab, der die Zustände des aktuellen Threads enthält.
Zum Seitenanfang

  NameBeschreibung
Öffentliche MethodeUnterstützt von XNA FrameworkAbort()Löst eine ThreadAbortException im Thread aus, für den der Aufruf erfolgte, um das Beenden des Threads zu beginnen. Durch den Aufruf dieser Methode wird der Thread i. d. R. beendet.
Öffentliche MethodeUnterstützt von XNA FrameworkAbort(Object)Löst eine ThreadAbortException im Thread aus, für den der Aufruf erfolgte, um das Beenden des Threads zu beginnen. Gleichzeitig werden Ausnahmeinformationen über das Beenden des Threads bereitgestellt. Durch den Aufruf dieser Methode wird der Thread i. d. R. beendet.
Öffentliche MethodeStatischer MemberUnterstützt von XNA FrameworkAllocateDataSlotReserviert einen unbenannten Datenslot für alle Threads. Eine höhere Leistung erzielen Sie, wenn Sie stattdessen Felder verwenden, die mit dem ThreadStaticAttribute-Attribut markiert sind.
Öffentliche MethodeStatischer MemberUnterstützt von XNA FrameworkAllocateNamedDataSlotReserviert einen benannten Datenslot für alle Threads. Eine höhere Leistung erzielen Sie, wenn Sie stattdessen Felder verwenden, die mit dem ThreadStaticAttribute-Attribut markiert sind.
Öffentliche MethodeStatischer MemberBeginCriticalRegionBenachrichtigt einen Host, dass die Ausführung im Begriff ist, zu einem Codebereich überzugehen, in dem die Auswirkungen eines Threadabbruchs oder einer nicht behandelten Ausnahme andere Aufgaben in der Anwendungsdomäne gefährden könnten.
Öffentliche MethodeStatischer MemberBeginThreadAffinityBenachrichtigt einen Host, dass verwalteter Code im Begriff ist, Anweisungen auszuführen, die von der Identität des aktuellen physischen Betriebssystemthreads abhängen.
Öffentliche MethodeDisableComObjectEagerCleanupDeaktiviert die automatische Bereinigung von Runtime Callable Wrappern (RCW) für den aktuellen Thread.
Öffentliche MethodeStatischer MemberEndCriticalRegionBenachrichtigt einen Host, dass die Ausführung im Begriff ist, zu einem Codebereich überzugehen, in dem die Auswirkungen eines Threadabbruchs oder einer nicht behandelten Ausnahme auf die aktuelle Aufgabe beschränkt sind.
Öffentliche MethodeStatischer MemberEndThreadAffinityBenachrichtigt einen Host, dass verwalteter Code die Ausführung von Anweisungen beendet hat, die von der Identität des aktuellen physischen Betriebssystemthreads abhängen.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von  Portable KlassenbibliothekEquals(Object)Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist. (Von Object geerbt.)
Öffentliche MethodeStatischer MemberUnterstützt von XNA FrameworkFreeNamedDataSlotEntfernt die Zuordnung zwischen einem Namen und einem Slot für alle Threads in dem Prozess. Eine höhere Leistung erzielen Sie, wenn Sie stattdessen Felder verwenden, die mit dem ThreadStaticAttribute-Attribut markiert sind.
Öffentliche MethodeGetApartmentStateGibt einen ApartmentState-Wert zurück, der den Apartmentzustand angibt.
Öffentliche MethodeGetCompressedStack Veraltet. Gibt ein CompressedStack-Objekt zurück, mit dem der Stapel für den aktuellen Thread erfasst werden kann.
Öffentliche MethodeStatischer MemberUnterstützt von XNA FrameworkGetDataRuft in der aktuellen Domäne des aktuellen Threads den Wert aus dem angegebenen Slot für den aktuellen Thread ab. Eine höhere Leistung erzielen Sie, wenn Sie stattdessen Felder verwenden, die mit dem ThreadStaticAttribute-Attribut markiert sind.
Öffentliche MethodeStatischer MemberUnterstützt von XNA FrameworkGetDomainGibt die aktuelle Domäne zurück, in der der aktuelle Thread ausgeführt wird.
Öffentliche MethodeStatischer MemberGetDomainIDGibt einen eindeutigen Bezeichner der Anwendungsdomäne zurück.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von  Portable KlassenbibliothekGetHashCodeGibt einen Hashcode für den aktuellen Thread zurück. (Überschreibt Object.GetHashCode().)

In XNA Framework 3.0 wird dieser Member von Object geerbt..GetHashCode().


In Portable Klassenbibliothek Portable Klassenbibliothek wird dieser Member von Object geerbt..GetHashCode().
Öffentliche MethodeStatischer MemberUnterstützt von XNA FrameworkGetNamedDataSlotSucht einen benannten Datenslot. Eine höhere Leistung erzielen Sie, wenn Sie stattdessen Felder verwenden, die mit dem ThreadStaticAttribute-Attribut markiert sind.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von  Portable KlassenbibliothekGetTypeRuft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Öffentliche MethodeInterruptUnterbricht einen Thread, der sich im WaitSleepJoin-Threadzustand befindet.
Öffentliche MethodeUnterstützt von XNA FrameworkJoin()Blockiert den aufrufenden Thread, bis ein Thread beendet wird, während das Standard-COM- und das SendMessage-Pumping fortgesetzt werden.
Öffentliche MethodeUnterstützt von XNA FrameworkJoin(Int32)Blockiert den aufrufenden Thread, bis ein Thread beendet wird oder die festgelegte Zeit verstreicht, während das Standard-COM- und das SendMessage-Pumping fortgesetzt werden.
Öffentliche MethodeJoin(TimeSpan)Blockiert den aufrufenden Thread, bis ein Thread beendet wird oder die festgelegte Zeit verstreicht, während das Standard-COM- und das SendMessage-Pumping fortgesetzt werden.
Öffentliche MethodeStatischer MemberUnterstützt von XNA FrameworkUnterstützt von  Portable KlassenbibliothekMemoryBarrierSynchronisiert den Speicherzugriff wie folgt: Der Prozessor, der den aktuellen Thread ausführt, kann Anweisungen nicht so neu anordnen, dass Speicherzugriffe vor dem Aufruf von MemoryBarrier nach Speicherzugriffen ausgeführt werden, die nach dem Aufruf MemoryBarrier erfolgen.
Öffentliche MethodeStatischer MemberResetAbortBricht ein Abort ab, das für den aktuellen Thread angefordert wurde.
Öffentliche MethodeResume Veraltet. Nimmt die Ausführung eines angehaltenen Threads wieder auf.
Öffentliche MethodeSetApartmentStateLegt den Apartmentzustand eines Threads fest, bevor dieser gestartet wird.
Öffentliche MethodeSetCompressedStack Veraltet. Übernimmt einen erfassten CompressedStack für den aktuellen Thread.
Öffentliche MethodeStatischer MemberUnterstützt von XNA FrameworkSetDataLegt die Daten im angegebenen Slot auf den derzeit ausgeführten Thread und für die aktuelle Domäne des betreffenden Threads fest. Eine höhere Leistung erzielen Sie, wenn Sie stattdessen Felder verwenden, die mit dem ThreadStaticAttribute-Attribut markiert sind.
Öffentliche MethodeUnterstützt von XNA FrameworkSetProcessorAffinityLegt in .NET Compact Framework für Xbox 360 die Prozessoraffinität für einen verwalteten Thread fest. Die Prozessoraffinität bestimmt die Prozessoren, auf denen ein Thread ausgeführt wird.
Öffentliche MethodeStatischer MemberUnterstützt von XNA FrameworkSleep(Int32)Hält den aktuellen Thread für einen angegebenen Zeitraum an.
Öffentliche MethodeStatischer MemberSleep(TimeSpan)Blockiert den aktuellen Thread für einen angegebenen Zeitraum.
Öffentliche MethodeStatischer MemberSpinWaitVeranlasst, dass ein Thread so oft wartet, wie vom iterations-Parameter definiert.
Öffentliche MethodeUnterstützt von XNA FrameworkStart()Weist das Betriebssystem an, den Zustand der aktuellen Instanz in ThreadState.Running zu ändern.
Öffentliche MethodeStart(Object)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.
Öffentliche MethodeSuspend Veraltet. Hält den Thread an. Hat keine Auswirkungen, wenn der Thread bereits angehalten ist.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von  Portable KlassenbibliothekToStringGibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.)
Öffentliche MethodeTrySetApartmentStateLegt den Apartmentzustand eines Threads fest, bevor dieser gestartet wird.
Öffentliche MethodeStatischer MemberVolatileRead(Byte)Liest den Wert eines Felds. Der Wert entspricht dem letzten von einem Prozessor in dem Computer geschriebenen Wert, unabhängig von der Anzahl der Prozessoren und dem Zustand des Prozessorcaches.
Öffentliche MethodeStatischer MemberVolatileRead(Double)Liest den Wert eines Felds. Der Wert entspricht dem letzten von einem Prozessor in dem Computer geschriebenen Wert, unabhängig von der Anzahl der Prozessoren und dem Zustand des Prozessorcaches.
Öffentliche MethodeStatischer MemberVolatileRead(Int16)Liest den Wert eines Felds. Der Wert entspricht dem letzten von einem Prozessor in dem Computer geschriebenen Wert, unabhängig von der Anzahl der Prozessoren und dem Zustand des Prozessorcaches.
Öffentliche MethodeStatischer MemberVolatileRead(Int32)Liest den Wert eines Felds. Der Wert entspricht dem letzten von einem Prozessor in dem Computer geschriebenen Wert, unabhängig von der Anzahl der Prozessoren und dem Zustand des Prozessorcaches.
Öffentliche MethodeStatischer MemberVolatileRead(Int64)Liest den Wert eines Felds. Der Wert entspricht dem letzten von einem Prozessor in dem Computer geschriebenen Wert, unabhängig von der Anzahl der Prozessoren und dem Zustand des Prozessorcaches.
Öffentliche MethodeStatischer MemberVolatileRead(IntPtr)Liest den Wert eines Felds. Der Wert entspricht dem letzten von einem Prozessor in dem Computer geschriebenen Wert, unabhängig von der Anzahl der Prozessoren und dem Zustand des Prozessorcaches.
Öffentliche MethodeStatischer MemberVolatileRead(Object)Liest den Wert eines Felds. Der Wert entspricht dem letzten von einem Prozessor in dem Computer geschriebenen Wert, unabhängig von der Anzahl der Prozessoren und dem Zustand des Prozessorcaches.
Öffentliche MethodeStatischer MemberVolatileRead(SByte)Liest den Wert eines Felds. Der Wert entspricht dem letzten von einem Prozessor in dem Computer geschriebenen Wert, unabhängig von der Anzahl der Prozessoren und dem Zustand des Prozessorcaches.
Öffentliche MethodeStatischer MemberVolatileRead(Single)Liest den Wert eines Felds. Der Wert entspricht dem letzten von einem Prozessor in dem Computer geschriebenen Wert, unabhängig von der Anzahl der Prozessoren und dem Zustand des Prozessorcaches.
Öffentliche MethodeStatischer MemberVolatileRead(UInt16)Liest den Wert eines Felds. Der Wert entspricht dem letzten von einem Prozessor in dem Computer geschriebenen Wert, unabhängig von der Anzahl der Prozessoren und dem Zustand des Prozessorcaches.
Öffentliche MethodeStatischer MemberVolatileRead(UInt32)Liest den Wert eines Felds. Der Wert entspricht dem letzten von einem Prozessor in dem Computer geschriebenen Wert, unabhängig von der Anzahl der Prozessoren und dem Zustand des Prozessorcaches.
Öffentliche MethodeStatischer MemberVolatileRead(UInt64)Liest den Wert eines Felds. Der Wert entspricht dem letzten von einem Prozessor in dem Computer geschriebenen Wert, unabhängig von der Anzahl der Prozessoren und dem Zustand des Prozessorcaches.
Öffentliche MethodeStatischer MemberVolatileRead(UIntPtr)Liest den Wert eines Felds. Der Wert entspricht dem letzten von einem Prozessor in dem Computer geschriebenen Wert, unabhängig von der Anzahl der Prozessoren und dem Zustand des Prozessorcaches.
Öffentliche MethodeStatischer MemberVolatileWrite(Byte, Byte)Schreibt einen Wert sofort in ein Feld, sodass der Wert für alle Prozessoren des Computers sichtbar ist.
Öffentliche MethodeStatischer MemberVolatileWrite(Double, Double)Schreibt einen Wert sofort in ein Feld, sodass der Wert für alle Prozessoren des Computers sichtbar ist.
Öffentliche MethodeStatischer MemberVolatileWrite(Int16, Int16)Schreibt einen Wert sofort in ein Feld, sodass der Wert für alle Prozessoren des Computers sichtbar ist.
Öffentliche MethodeStatischer MemberVolatileWrite(Int32, Int32)Schreibt einen Wert sofort in ein Feld, sodass der Wert für alle Prozessoren des Computers sichtbar ist.
Öffentliche MethodeStatischer MemberVolatileWrite(Int64, Int64)Schreibt einen Wert sofort in ein Feld, sodass der Wert für alle Prozessoren des Computers sichtbar ist.
Öffentliche MethodeStatischer MemberVolatileWrite(IntPtr, IntPtr)Schreibt einen Wert sofort in ein Feld, sodass der Wert für alle Prozessoren des Computers sichtbar ist.
Öffentliche MethodeStatischer MemberVolatileWrite(Object, Object)Schreibt einen Wert sofort in ein Feld, sodass der Wert für alle Prozessoren des Computers sichtbar ist.
Öffentliche MethodeStatischer MemberVolatileWrite(SByte, SByte)Schreibt einen Wert sofort in ein Feld, sodass der Wert für alle Prozessoren des Computers sichtbar ist.
Öffentliche MethodeStatischer MemberVolatileWrite(Single, Single)Schreibt einen Wert sofort in ein Feld, sodass der Wert für alle Prozessoren des Computers sichtbar ist.
Öffentliche MethodeStatischer MemberVolatileWrite(UInt16, UInt16)Schreibt einen Wert sofort in ein Feld, sodass der Wert für alle Prozessoren des Computers sichtbar ist.
Öffentliche MethodeStatischer MemberVolatileWrite(UInt32, UInt32)Schreibt einen Wert sofort in ein Feld, sodass der Wert für alle Prozessoren des Computers sichtbar ist.
Öffentliche MethodeStatischer MemberVolatileWrite(UInt64, UInt64)Schreibt einen Wert sofort in ein Feld, sodass der Wert für alle Prozessoren des Computers sichtbar ist.
Öffentliche MethodeStatischer MemberVolatileWrite(UIntPtr, UIntPtr)Schreibt einen Wert sofort in ein Feld, sodass der Wert für alle Prozessoren des Computers sichtbar ist.
Öffentliche MethodeStatischer MemberYieldBewirkt, dass der aufrufende Thread die Ausführung an einen anderen Thread übergibt, der auf dem aktuellen Prozessor ausgeführt werden kann. Das Betriebssystem wählt den Thread für die Übergabe aus.
Zum Seitenanfang

  NameBeschreibung
Explizite SchnittstellenimplementierungPrivate Methode_Thread.GetIDsOfNamesOrdnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.
Explizite SchnittstellenimplementierungPrivate Methode_Thread.GetTypeInfoRuft die Typinformationen für ein Objekt ab, die dann zum Abrufen der Typinformationen für eine Schnittstelle verwendet werden können.
Explizite SchnittstellenimplementierungPrivate Methode_Thread.GetTypeInfoCountRuft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1).
Explizite SchnittstellenimplementierungPrivate Methode_Thread.InvokeStellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit.
Zum Seitenanfang

Ein Prozess kann einen oder mehrere Threads erstellen, die einen Teil des ihm zugeordneten Programmcodes ausführen. Geben Sie mithilfe eines ThreadStart-Delegaten oder des ParameterizedThreadStart-Delegaten den von einem Thread ausgeführten Programmcode an. Mithilfe des ParameterizedThreadStart-Delegaten können Sie Daten an die Threadprozedur übergeben.

Für die Dauer seines Bestehens befindet sich ein Thread immer in einem oder mehreren der Zustände, die von ThreadState definiert sind. Eine Planungsprioritätsebene kann entsprechend der Definition von ThreadPriority für einen Thread angefordert werden. Diese wird jedoch nicht unbedingt vom Betriebssystem eingehalten.

GetHashCode stellt Identifikation für verwaltete Threads bereit. Diese Threadidentifikation gerät während der gesamten Lebensdauer des betreffenden Threads niemals mit dem Wert eines anderen Threads in Konflikt, unabhängig von der Anwendungsdomäne, aus der dieser Wert abgerufen wurde.

HinweisHinweis

Die ThreadId eines Betriebssystems hat keine festgelegte Beziehung zu einem verwalteten Thread, da ein nicht verwalteter Host die Beziehung zwischen verwalteten und nicht verwalteten Threads steuern kann. Insbesondere kann ein hoch entwickelter Host unter Verwendung der CLR Hosting API die Ablaufplanung vieler verwalteter Threads durch denselben Betriebssystemthread ausführen oder einen verwalteten Thread zwischen verschiedenen Betriebssystemthreads verschieben.

Es ist nicht erforderlich, einen Verweis auf ein Thread-Objekt beizubehalten, nachdem Sie den Thread gestartet haben. Der Thread wird so lange ausgeführt, bis die Threadprozedur abgeschlossen wurde.

Wichtiger HinweisWichtig

Ab .NET Framework 4 ist das Verhalten einiger Theadkonstruktoren geändert: Nur voll vertrauenswürdiger Code die maximale Stapelgröße auf einen Wert festlegen, der größer als die Standardstapelgröße (1 Megabyte) ist. Wenn ein größerer Wert angegeben wird und Code mit teilweiser Vertrauenswürdigkeit ausgeführt wird, wird der größere Wert ignoriert, und die Standardstapelgröße wird verwendet. Es wird keine Ausnahme ausgelöst. In Code auf beliebiger Vertrauensebene kann die maximale Stapelgröße auf einen Wert festgelegt werden, der kleiner als die Standardstapelgröße ist.

Das folgende Beispiel veranschaulicht einfache Threadfunktionen.


using System;
using System.Threading;

// Simple threading scenario:  Start a static method running
// on a second thread.
public class ThreadExample {
    // The ThreadProc method is called when the thread starts.
    // It loops ten times, writing to the console and yielding 
    // the rest of its time slice each time, and then ends.
    public static void ThreadProc() {
        for (int i = 0; i < 10; i++) {
            Console.WriteLine("ThreadProc: {0}", i);
            // Yield the rest of the time slice.
            Thread.Sleep(0);
        }
    }

    public static void Main() {
        Console.WriteLine("Main thread: Start a second thread.");
        // The constructor for the Thread class requires a ThreadStart 
        // delegate that represents the method to be executed on the 
        // thread.  C# simplifies the creation of this delegate.
        Thread t = new Thread(new ThreadStart(ThreadProc));

        // Start ThreadProc.  Note that on a uniprocessor, the new 
        // thread does not get any processor time until the main thread 
        // is preempted or yields.  Uncomment the Thread.Sleep that 
        // follows t.Start() to see the difference.
        t.Start();
        //Thread.Sleep(0);

        for (int i = 0; i < 4; i++) {
            Console.WriteLine("Main thread: Do some work.");
            Thread.Sleep(0);
        }

        Console.WriteLine("Main thread: Call Join(), to wait until ThreadProc ends.");
        t.Join();
        Console.WriteLine("Main thread: ThreadProc.Join has returned.  Press Enter to end program.");
        Console.ReadLine();
    }
}


Durch diesen Code wird eine mit folgendem Beispiel vergleichbare Ausgabe generiert:

 [VB, C++, C#]
 Main thread: Start a second thread.
 Main thread: Do some work.
 ThreadProc: 0
 Main thread: Do some work.
 ThreadProc: 1
 Main thread: Do some work.
 ThreadProc: 2
 Main thread: Do some work.
 ThreadProc: 3
 Main thread: Call Join(), to wait until ThreadProc ends.
 ThreadProc: 4
 ThreadProc: 5
 ThreadProc: 6
 ThreadProc: 7
 ThreadProc: 8
 ThreadProc: 9
 Main thread: ThreadProc.Join has returned.  Press Enter to end program.

.NET Framework

Unterstützt in: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Portable Klassenbibliothek

Unterstützt in: Portable Klassenbibliothek

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

Es werden nicht alle Versionen sämtlicher Plattformen von .NET Framework unterstützt.. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Dieser Typ ist threadsicher.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft