Quando specifichiamo che una query deve essere eseguita da PLINQ, non è detto che effettivamente questa venga eseguita in parallelo. Infatti, il motore PLINQ effettua un calcolo in base al quale decide se parallelizzare o meno l'esecuzione della query. Volendo, possiamo forzare l'esecuzione in parallelo attraverso il metodo WithExecutionMode che accetta un parametro che specifica il tipo di esecuzione che vogliamo forzare.
var parallelQuery = persone.AsParallel() .WithExecutionMode(ParallelExecutionMode.ForceParallelism) .Where(p => p.Nome == "Stefano") .Select(p => p.Cognome) .ToList();
In questo esempio, specifichiamo al run time che la query deve essere eseguita obbligatoriamente in parallelo.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Eseguire query manipolando le liste contenute in un oggetto mappato verso una colonna JSON
Sfruttare al massimo i topic space di Event Grid MQTT
Supportare il sorting di dati tabellari in Blazor con QuickGrid
Disabilitare automaticamente un workflow di GitHub (parte 2)
Escludere alcuni file da GitHub Secret Scanning
Utilizzare Model as a Service su Microsoft Azure
Gestire la cancellazione di una richiesta in streaming da Blazor
Esporre i propri servizi applicativi con Semantic Kernel e ASP.NET Web API
Eseguire i worklow di GitHub su runner potenziati
Creazione di componenti personalizzati in React.js con Tailwind CSS
Testare l'invio dei messaggi con Event Hubs Data Explorer
Routing statico e PreRendering in una Blazor Web App
I più letti di oggi
- 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
- La classe SortedList di .NET
- Un custom control SingleView per ASP.NET 2.0