Windows.System.Threading Namespace
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ermöglicht es einer Anwendung, den Threadpool zum Ausführen von Arbeitselementen zu verwenden.
Der Threadpool stellt einen Pool von Workerthreads bereit, den eine Anwendung für Arbeitselemente verwenden kann, die parallel ausgeführt werden können. Die Verwendung des Threadpools ist einfacher und effizienter als das Erstellen einzelner Threads, da der Threadpool Threadlebensdauern verwaltet und Arbeitselemente plant, wenn Threads verfügbar werden.
Arbeitselemente werden asynchron ausgeführt und können in beliebiger Reihenfolge ausgeführt werden. Daher ist es am besten, den Threadpool für Arbeitselemente zu verwenden, die nicht viel Zeit in Anspruch nehmen und nicht von der Ausgabe des anderen abhängig sind. Sie erstellen ein Arbeitselement, indem Sie die RunAsync-Methode aufrufen. Das Arbeitselement wird der Warteschlange des Threadpools hinzugefügt, wo es bleibt, bis ein Thread verfügbar wird. Wenn ein Thread verfügbar wird, ruft der Threadpool den zugeordneten WorkItemHandler-Delegat des Arbeitselements auf, und das Arbeitselement wird ausgeführt.
Der Threadpool plant ein Arbeitselement, sobald ein Thread verfügbar wird, sodass das Element möglicherweise sofort ausgeführt wird. Wenn das Arbeitselement nach einer bestimmten Zeit ausgeführt werden soll, verwenden Sie einen Timer. Sie erstellen einen Timer und geben dessen Timeoutwert an, indem Sie die CreateTimer-Methode aufrufen. Der Timer beginnt mit dem Zählen, sobald er erstellt wurde, sodass Sie ihn nicht starten müssen. Wenn der Timer abläuft, ruft der Threadpool den TimerElapsedHandler-Delegat des Timers auf.
Wenn Sie ein Arbeitselement mehrmals in einem regelmäßigen Intervall ausführen möchten, verwenden Sie die CreatePeriodicTimer-Methode , um einen regelmäßigen Timer zu erstellen. Ein regelmäßiger Timer wird jedes Mal zurückgesetzt, wenn er abläuft, und bleibt aktiv, bis Sie ihn abbrechen.
Wenn Ein Arbeitselement warten soll, bis ein Ereignis oder Semaphor signalisiert wird, oder wenn Sie ein vorab zugewiesenes Arbeitselement erstellen möchten, lesen Sie Windows.System.Threading.Core.
Beispielcode, der die Verwendung des Threadpools veranschaulicht, finden Sie im Threadpoolbeispiel.
Hinweis
Die ThreadPool-API wird sowohl für Desktop- als auch für UWP-Apps unterstützt.
Klassen
ThreadPool |
Ermöglicht den Zugriff auf den Threadpool. Ausführliche Anleitungen zur Verwendung des Threadpools finden Sie unter Threading und asynchrone Programmierung :
Hinweis Die ThreadPool-API wird sowohl für Desktop- als auch für UWP-Apps unterstützt. |
ThreadPoolTimer |
Stellt einen timer dar, der mit CreateTimer oder CreatePeriodicTimer erstellt wurde. Hinweis Die ThreadPool-API wird sowohl für Desktop- als auch für UWP-Apps unterstützt. |
Enumerationen
WorkItemOptions |
Gibt an, wie Arbeitselemente ausgeführt werden sollen. |
WorkItemPriority |
Gibt die Priorität eines Arbeitselements im Verhältnis zu anderen Arbeitselementen im Threadpool an. |
Delegaten
TimerDestroyedHandler |
Stellt eine Methode dar, die aufgerufen wird, wenn ein mit CreateTimer oder CreatePeriodicTimer erstelltes Timer abgeschlossen ist. |
TimerElapsedHandler |
Stellt eine Methode dar, die aufgerufen wird, wenn ein mit CreateTimer oder CreatePeriodicTimer erstellter Timer abläuft. |
WorkItemHandler |
Stellt eine Methode dar, die aufgerufen wird, wenn ein Arbeitselement ausgeführt wird. |