Threading und asynchrone ProgrammierungThreading and async programming

Mithilfe von Threading und der asynchronen Programmierung kann Ihre App Aufgaben asynchron in parallelen Threads ausführen.Threading and async programming enables your app to accomplish work asynchronously in parallel threads.

Eine App kann den Threadpool verwenden, um Aufgaben asynchron in parallelen Threads auszuführen.Your app can use the thread pool to accomplish work asynchronously in parallel threads. Der Threadpool verwaltet eine Reihe von Threads und verwendet eine Warteschlange, um den einzelnen Threads, sobald sie verfügbar werden, Arbeitsaufgaben zuzuweisen.The thread pool manages a set of threads and uses a queue to assign work items to threads as they become available. Der Threadpool ähnelt den in der Windows-Runtime verfügbaren asynchronen Programmierungsmustern, da er zur Verarbeitung umfangreicher Aufgaben verwendet werden kann, ohne die Benutzeroberfläche zu blockieren. Der Threadpool bietet jedoch mehr Kontrolle als die asynchronen Programmierungsmuster, und mit dem Threadpool können Sie mehrere Arbeitsaufgaben parallel bearbeiten.The thread pool is similar to the asynchronous programming patterns available in the Windows Runtime because it can be used to accomplish extended work without blocking the UI, but the thread pool offers more control than the asynchronous programming patterns and you can use it to complete multiple work items in parallel. Mit dem Threadpool können Sie die folgenden Aktionen ausführen:You can use the thread pool to:

  • Arbeitsaufgaben übermitteln, deren Prioritäten steuern und Arbeitsaufgaben abbrechenSubmit work items, control their priority, and cancel work items.

  • Arbeitsaufgaben mit Timern und regelmäßigen Timern planenSchedule work items using timers and periodic timers.

  • Ressourcen für wichtige Arbeitsaufgaben reservierenSet aside resources for critical work items.

  • Arbeitsaufgaben als Reaktion auf benannte Ereignisse und Semaphoren ausführenRun work items in response to named events and semaphores.

Der Threadpool bietet eine höhere Effizienz beim Verwalten von Threads, da der Mehraufwand zum Erstellen und Verwerfen von Threads reduziert wird.The thread pool is more efficient at managing threads because it reduces the overhead of creating and destroying threads. Das bedeutet, er verfügt über Zugriffsmöglichkeiten zum Optimieren von Threads über mehrere CPU-Kerne hinweg und kann Threadressourcen zwischen Apps und Hintergrundaufgaben ausgleichen.The means it has access to optimize threads across multiple CPU cores, and it can balance thread resources between apps and when background tasks are running. Die Verwendung des integrierten Threadpools erleichtert Ihnen die Arbeit, da Sie sich auf das Schreiben von Code für die Ausführung einer Aufgabe konzentrieren können, anstatt sich um die Abläufe der Threadverwaltung kümmern zu müssen.Using the built-in thread pool is convenient because you focus on writing code that accomplishes a task instead of the mechanics of thread management.

ThemaTopic BeschreibungDescription
Asynchrone Programmierung (UWP-Apps)Asynchronous programming (UWP apps) In diesem Thema werden die asynchrone Programmierung auf der universellen Windows-Plattform (UWP) und ihre Darstellung in C#, Microsoft Visual Basic .NET, Visual C++-Komponentenerweiterungen (C++/CX) und JavaScript erläutert.This topic describes asynchronous programming in the Universal Windows Platform (UWP) and its representation in C#, Microsoft Visual Basic .NET, Visual C++ component extensions (C++/CX), and JavaScript.
Asynchrone Programmierung in C++/CX (UWP-Apps)Asynchronous programming in C++/CX (UWP apps) In diesem Artikel wird die empfohlene Vorgehensweise zur Verwendung asynchroner Methoden in C++/CX mithilfe der taskconcurrency-Klasse beschrieben, die im -Namespace in „ppltasks.h“ definiert wird.This article describes the recommended way to consume asynchronous methods in C++/CX by using the task class that's defined in the concurrency namespace in ppltasks.h.
Bewährte Methoden zum Verwenden des ThreadpoolsBest practices for using the thread pool In diesem Thema werden bewährte Methoden für die Verwendung des Threadpools beschrieben.This topic describes best practices for working with the thread pool.
Aufrufen asynchroner APIs in C# oder Visual BasicCall asynchronous APIs in C# or Visual Basic Die Universelle Windows-Plattform (UWP) enthält viele asynchrone APIs. Diese sorgen dafür, dass Ihre App reaktionsfähig bleibt, wenn sie über einen längeren Zeitraum mit einer Aufgabe beschäftigt ist.The Universal Windows Platform (UWP) includes many asynchronous APIs to ensure that your app remains responsive when it does work that might take an extended amount of time. In diesem Thema wird die Verwendung asynchroner Methoden aus der Universellen Windows-Plattform (UWP) in C# oder Microsoft Visual Basic erläutert.This topic discusses how to use asynchronous methods from the UWP in C# or Microsoft Visual Basic.
Erstellen einer regelmäßigen ArbeitsaufgabeCreate a periodic work item Hier erfahren Sie, wie Sie eine Arbeitsaufgabe erstellen, die regelmäßig wiederholt wird.Learn how to create a work item that repeats periodically.
Senden einer Arbeitsaufgabe an den ThreadpoolSubmit a work item to the thread pool Hier erfahren Sie, wie Sie Arbeit in einem separaten Thread erledigen können, indem Sie eine Arbeitsaufgabe an den Threadpool übermitteln.Learn how to do work in a separate thread by submitting a work item to the thread pool.
Senden einer Arbeitsaufgabe mithilfe eines TimersUse a timer to submit a work item Hier erfahren Sie, wie Sie eine Arbeitsaufgabe erstellen, die nach dem Ablaufen eines Timers ausgeführt wird.Learn how to create a work item that runs after a timer elapses.