Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original
Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

Thread.Priority-Eigenschaft

Ruft einen Wert ab, der die Planungspriorität eines Threads angibt, oder legt diesen fest.

Namespace:  System.Threading
Assembly:  mscorlib (in mscorlib.dll)
public ThreadPriority Priority { get; set; }

Eigenschaftswert

Typ: System.Threading.ThreadPriority
Einer der ThreadPriority-Werte. Der Standardwert ist Normal.
AusnahmeBedingung
ThreadStateException

Der Thread hat einen Endzustand erreicht, z. B. Aborted.

ArgumentException

Der für eine Set-Operation angegebene Wert ist kein gültiger ThreadPriority-Wert.

Einem Thread kann einer der folgenden Prioritätswerte zugewiesen werden:

  • Highest

  • AboveNormal

  • Normal

  • BelowNormal

  • Lowest

Betriebssysteme müssen die Priorität eines Threads nicht berücksichtigen.

Das folgende Codebeispiel veranschaulicht das Ergebnis einer Änderung der Priorität eines Threads. Es werden zwei Threads erstellt, und die Priorität eines Threads wird auf BelowNormal festgelegt. Beide Threads verwenden zum Inkrementieren einer Variablen eine while-Schleife und werden für eine festgelegte Zeit ausgeführt.


using System;
using System.Threading;

class Test
{
    static void Main()
    {
        PriorityTest priorityTest = new PriorityTest();
        ThreadStart startDelegate = 
            new ThreadStart(priorityTest.ThreadMethod);

        Thread threadOne = new Thread(startDelegate);
        threadOne.Name = "ThreadOne";
        Thread threadTwo = new Thread(startDelegate);
        threadTwo.Name = "ThreadTwo";

        threadTwo.Priority = ThreadPriority.BelowNormal;
        threadOne.Start();
        threadTwo.Start();

        // Allow counting for 10 seconds.
        Thread.Sleep(10000);
        priorityTest.LoopSwitch = false;
    }
}

class PriorityTest
{
    bool loopSwitch;

    public PriorityTest()
    {
        loopSwitch = true;
    }

    public bool LoopSwitch
    {
        set{ loopSwitch = value; }
    }

    public void ThreadMethod()
    {
        long threadCount = 0;

        while(loopSwitch)
        {
            threadCount++;
        }
        Console.WriteLine("{0} with {1,11} priority " +
            "has a count = {2,13}", Thread.CurrentThread.Name, 
            Thread.CurrentThread.Priority.ToString(), 
            threadCount.ToString("N0")); 
    }
}


.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, 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)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)

Community-Beiträge

HINZUFÜGEN
Microsoft führt eine Onlineumfrage durch, um Ihre Meinung zur MSDN-Website zu erfahren. Wenn Sie sich zur Teilnahme entscheiden, wird Ihnen die Onlineumfrage angezeigt, sobald Sie die MSDN-Website verlassen.

Möchten Sie an der Umfrage teilnehmen?
© 2013 Microsoft. Alle Rechte vorbehalten.