Threading e programmazione asincrona

Il threading e la programmazione asincrona consentono all'app di eseguire operazioni in modo asincrono nei thread paralleli.

L'app può usare il pool di thread per eseguire operazioni in modo asincrono nei thread paralleli. Il pool di thread gestisce un set di thread e usa una coda per assegnare elementi di lavoro ai thread non appena diventano disponibili. Il pool di thread è simile ai modelli di programmazione asincroni disponibili in Windows Runtime perché può essere usato per eseguire operazioni estese senza bloccare l'interfaccia utente, ma il pool di thread offre più controllo rispetto ai modelli di programmazione asincroni ed è possibile usarlo per completare più elementi di lavoro in parallelo. È possibile usare il pool di thread per:

  • Inviare elementi di lavoro, controllarne la priorità e annullare gli elementi di lavoro.

  • Pianificare gli elementi di lavoro usando timer e timer periodici.

  • Riservare le risorse per gli elementi di lavoro critici.

  • Eseguire elementi di lavoro in risposta a eventi e semafori denominati.

Il pool di thread è più efficiente nella gestione dei thread perché riduce il sovraccarico della creazione e dell'eliminazione di thread. Ciò significa che ha accesso per l'ottimizzazione dei thread tra più core CPU e può bilanciare le risorse del thread tra le app e quando le attività in background sono in esecuzione. L'uso del pool di thread predefinito è pratico perché ci si concentra sulla scrittura di codice che esegue un'attività anziché sui meccanismi di gestione dei thread.

Argomento Descrizione
Programmazione asincrona (app UWP) Questo argomento descrive la programmazione asincrona nella piattaforma UWP (Universal Windows Platform) e la sua rappresentazione in C#, Microsoft Visual Basic .NET, JavaScript e nelle estensioni del componente Visual C++ (C++/CX).
Programmazione asincrona in C++/CX (app UWP) Questo articolo descrive il modo consigliato per utilizzare metodi asincroni in C++/CX usando la classe task definita nello spazio dei nomi concurrency in ppltasks.h.
Procedure consigliate per l'uso del pool di thread In questo argomento vengono descritte le procedure consigliate per l'uso del pool di thread.
Chiamare API asincrone in C# o Visual Basic La piattaforma UWP (Universal Windows Platform) include molte API asincrone per garantire che l'app rimanga reattiva quando esegue lavori che potrebbero richiedere molto tempo. Questo argomento illustra come usare metodi asincroni dalla piattaforma UWP in C# o Microsoft Visual Basic.
Creare un elemento di lavoro periodico Informazioni su come creare un elemento di lavoro che si ripete periodicamente.
Inviare un elemento di lavoro al pool di thread Informazioni su come eseguire operazioni in un thread separato inviando un elemento di lavoro al pool di thread.
Usare un timer per inviare un elemento di lavoro Informazioni su come creare un elemento di lavoro che viene eseguito dopo la scadenza di un timer.