Einfache Aufgaben
In diesem Dokument wird die Rolle einfacher Aufgaben in der Parallelitätslaufzeit beschrieben. Bei einem einfachen Vorgang handelt es sich um einen Vorgang , den Sie direkt aus einem concurrency::Scheduler
Oder concurrency::ScheduleGroup
Objekt planen. Eine einfache Aufgabe ähnelt der Funktion, die Sie der Windows-API CreateThread-Funktion bereitstellen. Daher sind einfache Aufgaben nützlich, wenn Sie vorhandenen Code anpassen, um die Planungsfunktionalität der Parallelitätslaufzeit zu verwenden. Die Parallelitätslaufzeit selbst verwendet einfache Aufgaben, um asynchrone Agents zu planen und Nachrichten zwischen asynchronen Nachrichtenblöcken zu senden.
Tipp
Die Concurrency Runtime stellt einen Standardplaner bereit. Sie müssen daher keinen in Ihrer Anwendung erstellen. Da der Aufgabenplaner Ihnen dabei hilft, die Leistung Ihrer Anwendungen zu optimieren, empfehlen wir, mit der Parallel Patterns Library (PPL) oder der asynchronen Agents-Bibliothek zu beginnen, wenn Sie mit der Parallelitätslaufzeit noch nicht vertraut sind.
Einfache Aufgaben tragen weniger Aufwand als asynchrone Agents und Aufgabengruppen. Die Laufzeit informiert Sie beispielsweise nicht, wenn ein einfacher Vorgang abgeschlossen ist. Darüber hinaus erfasst oder behandelt die Laufzeit keine Ausnahmen, die von einer einfachen Aufgabe ausgelöst werden. Weitere Informationen zur Ausnahmebehandlung und einfachen Aufgaben finden Sie unter "Ausnahmebehandlung".
Für die meisten Aufgaben empfiehlt es sich, robustere Funktionen wie Aufgabengruppen und parallele Algorithmen zu verwenden, da sie komplexere Aufgaben einfacher in einfache Aufgaben aufteilen können. Weitere Informationen zu Aufgabengruppen finden Sie unter Task Parallelism. Weitere Informationen zu parallelen Algorithmen finden Sie unter Parallel-Algorithmen.
Rufen Sie zum Erstellen eines einfachen Vorgangs die Parallelität::ScheduleGroup::ScheduleTask, parallelcurrency::CurrentScheduler::ScheduleTask oder parallelcurrency::ScheduleTask-Methode auf. Warten Sie, bis eine einfache Aufgabe abgeschlossen ist, warten Sie, bis der übergeordnete Planer heruntergefahren wird, oder verwenden Sie einen Synchronisierungsmechanismus, z. B. ein Parallelitätsobjekt::event .
Beispiel
Ein Beispiel, das veranschaulicht, wie vorhandener Code an die Verwendung einer einfachen Aufgabe angepasst wird, finden Sie unter Walkthrough: Adapting Existing Code to Use Lightweight Tasks.
Siehe auch
Aufgabenplanung
Exemplarische Vorgehensweise: Anpassen von vorhandenem Code für die Verwendung einfacher Aufgaben