(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.Join-Methode (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.

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

[HostProtectionAttribute(SecurityAction.LinkDemand, Synchronization = true, 
	ExternalThreading = true)]
public bool Join(
	TimeSpan timeout
)

Parameter

timeout
Typ: System.TimeSpan
Eine TimeSpan, die auf den Zeitraum festgelegt ist, während dessen auf das Beenden des Threads gewartet werden soll.

Rückgabewert

Typ: System.Boolean
true , wenn der Thread beendet wurde. false, wenn der Thread nach Ablauf des vom timeout-Parameter angegebenen Zeitraums nicht beendet wurde.

AusnahmeBedingung
ArgumentOutOfRangeException

Der Wert von timeout ist negativ und ungleich Timeout.Infinite (in Millisekunden), oder er ist größer als Int32.MaxValue Millisekunden.

ThreadStateException

Der Aufrufer hat versucht, einen Thread zu verknüpfen, der sich im Unstarted-Zustand befindet.

Wenn für timeoutTimeout.Infinite festgelegt ist, weist diese Methode mit Ausnahme des Rückgabewerts das gleiche Verhalten wie die Join()-Methodenüberladung auf.

Wenn der Thread beim Aufruf von Join bereits beendet wurde, kehrt die Methode sofort zurück.

Diese Methode ändert den Zustand des aktuellen Threads, sodass er WaitSleepJoin enthält. Join kann nicht für einen Thread aufgerufen werden, der sich im ThreadState.Unstarted-Zustand befindet.

HinweisHinweis

Das HostProtectionAttribute -Attribut, das auf diesen Typ oder Member angewendet wird, besitzt den folgenden Resources Eigenschaftswert: Synchronization | ExternalThreading. Das HostProtectionAttribute hat keine Auswirkungen auf Desktopanwendungen (die normalerweise durch Doppelklicken auf ein Symbol, Eingeben eines Befehls oder einer URL in einem Browser gestartet werden). Weitere Informationen finden Sie unter HostProtectionAttribute -Klasse oder SQL Server-Programmierung und Hostschutzattribute.

Das folgende Codebeispiel veranschaulicht die Verwendung eines TimeSpan-Werts mit der Join-Methode.


using System;
using System.Threading;

class Test
{
    static TimeSpan waitTime = new TimeSpan(0, 0, 1);

    public static void Main() 
    {
        Thread newThread = 
            new Thread(new ThreadStart(Work));
        newThread.Start();

        if(newThread.Join(waitTime + waitTime))
        {
            Console.WriteLine("New thread terminated.");
        }
        else
        {
            Console.WriteLine("Join timed out.");
        }
    }

    static void Work()
    {
        Thread.Sleep(waitTime);
    }
}


.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

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.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft