Coma abbiamo visto nello script #281, una query PLINQ viene distribuita sui processori della macchina per ottimizzare le prestazioni. In virtù di questa distribuzione, l'ordinamento dei dati restituiti non è lo stesso dei dati che vengono processati in quanto la schedulazione dei thread che processano la lista dipende dal sistema operativo.
Tuttavia, se abbiamo la necessità di mantenere lo stesso ordine, possiamo ricorrere al metodo AsOrdered che in fase di merge dei dati restituiti ristabilisce l'ordine.
var result = (from p in persone.AsParallel().AsOrdered() where p.eta > 30 select p) .Take(10);
Grazie al metodo AsOrdered, le 10 persone che vengono restituite sono le prime 10 trovate nella lista originale. Senza AsOrdered, le 10 persone restituite sarebbero state prese in maniera randomica in quanto l'ordine dipende da quale thread finisce prima di processare la sua porzione di dati.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Limitare le richieste lato server con l'interactive routing di Blazor 8
Copiare automaticamente le secret tra più repository di GitHub
Effettuare chiamate con versioning da Blazor ad ASP.NET Core
Configurare policy CORS in Azure Container Apps
Generare token per autenicarsi sulle API di GitHub
Installare le Web App site extension tramite una pipeline di Azure DevOps
Gestire la cancellazione di una richiesta in streaming da Blazor
Utilizzare politiche di resiliency con Azure Container App
Ottimizzare il mapping di liste di tipi semplici con Entity Framework Core
Creare moduli CSS in React
Accesso sicuro ai secrets attraverso i file in Azure Container Apps
Esportare ed analizzare le issue di GitHub con la CLI e GraphQL
I più letti di oggi
- Microsoft annuncia Windows "TrustBridge"
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Estrarre dati randomici da una lista di oggetti in C#
- Usare il colore CSS per migliorare lo stile della pagina
- Configurare il nome della run di un workflow di GitHub in base al contesto di esecuzione