Windows.System.Threading Spazio dei nomi
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Consente a un'applicazione di usare il pool di thread per eseguire elementi di lavoro.
Il pool di thread fornisce un pool di thread di lavoro che un'applicazione può usare per gli elementi di lavoro che possono essere eseguiti in parallelo. L'uso del pool di thread è più semplice e più efficiente rispetto alla creazione di singoli thread, perché il pool di thread gestisce la durata dei thread e pianifica gli elementi di lavoro quando i thread diventano disponibili.
Gli elementi di lavoro vengono eseguiti in modo asincrono e possono essere eseguiti in qualsiasi ordine, quindi è consigliabile usare il pool di thread per gli elementi di lavoro che non richiedono molto tempo e non dipendono dall'output dell'altro. Creare un elemento di lavoro chiamando il metodo RunAsync . L'elemento di lavoro viene aggiunto alla coda del pool di thread, in cui rimane fino a quando non diventa disponibile un thread. Quando un thread diventa disponibile, il pool di thread chiama il delegato WorkItemHandler associato dell'elemento di lavoro e l'elemento di lavoro viene eseguito.
Il pool di thread pianifica un elemento di lavoro non appena un thread diventa disponibile, pertanto l'elemento potrebbe essere eseguito immediatamente. Se si vuole che l'elemento di lavoro venga eseguito dopo un determinato periodo di tempo, usare un timer. Si crea un timer e si specifica il relativo valore di timeout chiamando il metodo CreateTimer . Il timer inizia il conteggio non appena viene creato, quindi non è necessario avviarlo. Al termine del timer, il pool di thread chiama il delegato TimerElapsedHandler del timer.
Se si vuole eseguire un elemento di lavoro più volte a intervalli regolari, usare il metodo CreatePeriodicTimer per creare un timer periodico. Un timer periodico viene reimpostato ogni volta che scade e rimane attivo finché non viene annullato.
Se si vuole che un elemento di lavoro attenda fino a quando non viene segnalato un evento o un semaforo oppure se si vuole creare un elemento di lavoro preallocato, vedere Windows.System.Threading.Core.
Ad esempio, il codice che illustra come usare il pool di thread, vedere l'esempio di pool di thread.
Nota
L'API ThreadPool è supportata per desktop e app UWP.
Classi
ThreadPool |
Fornisce l'accesso al pool di thread. Per indicazioni dettagliate sull'uso del pool di thread, vedere Threading e programmazione asincrona :
Nota L'API ThreadPool è supportata per desktop e app UWP. |
ThreadPoolTimer |
Rappresenta un timer creato con CreateTimer o CreatePeriodicTimer. Nota L'API ThreadPool è supportata per desktop e app UWP. |
Enumerazioni
WorkItemOptions |
Specifica la modalità di esecuzione degli elementi di lavoro. |
WorkItemPriority |
Specifica la priorità di un elemento di lavoro rispetto ad altri elementi di lavoro nel pool di thread. |
Delegati
TimerDestroyedHandler |
Rappresenta un metodo chiamato quando viene completato un timer creato con CreateTimer o CreatePeriodicTimer . |
TimerElapsedHandler |
Rappresenta un metodo chiamato quando scade un timer creato con CreateTimer o CreatePeriodicTimer . |
WorkItemHandler |
Rappresenta un metodo chiamato quando viene eseguito un elemento di lavoro. |