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
Change tracking e composition in Entity Framework
Supportare la sessione affinity di Azure App Service con Application Gateway
Gestione dell'annidamento delle regole dei layer in CSS
Utilizzare il metodo Index di LINQ per scorrere una lista sapendo anche l'indice dell'elemento
Ottenere un token di accesso per una GitHub App
Triggerare una pipeline su un altro repository di Azure DevOps
Utilizzare la funzione EF.Parameter per forzare la parametrizzazione di una costante con Entity Framework
Creare una libreria CSS universale: Clip-path
Utilizzare Locust con Azure Load Testing
Utilizzare Azure AI Studio per testare i modelli AI
Inference di dati strutturati da testo con Semantic Kernel e ASP.NET Core Web API
Combinare Container Queries e Media Queries