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
Generare velocemente pagine CRUD in Blazor con QuickGrid
Utilizzare il metodo Index di LINQ per scorrere una lista sapendo anche l'indice dell'elemento
Creare una custom property in GitHub
Utilizzare Copilot con Azure Cosmos DB
Creare una libreria CSS universale: Cards
Utilizzare i primary constructor di C# per inizializzare le proprietà
Ottimizzare la latenza in Blazor 8 tramite InteractiveAuto render mode
Utilizzare il trigger SQL con le Azure Function
Generare HTML a runtime a partire da un componente Razor in ASP.NET Core
Inference di dati strutturati da testo con Semantic Kernel e ASP.NET Core Web API
Assegnare un valore di default a un parametro di una lambda in C#
Creazione di componenti personalizzati in React.js con Tailwind CSS
I più letti di oggi
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Utilizzare il metodo Index di LINQ per scorrere una lista sapendo anche l'indice dell'elemento
- Introduzione alle Container Queries in CSS
- Rimuovere le righe vuote da un file di testo con FSO
- Ottimizzare le pull con Artifact Cache di Azure Container Registry