Sto provando a eseguire più funzioni che si collegano a un sito remoto (tramite rete) e restituiscono un elenco generico. Ma voglio eseguirli contemporaneamente.Parallel.ForOgni con aggiunta all'elenco
Ad esempio:
public static List<SearchResult> Search(string title)
{
//Initialize a new temp list to hold all search results
List<SearchResult> results = new List<SearchResult>();
//Loop all providers simultaneously
Parallel.ForEach(Providers, currentProvider =>
{
List<SearchResult> tmpResults = currentProvider.SearchTitle((title));
//Add results from current provider
results.AddRange(tmpResults);
});
//Return all combined results
return results;
}
come la vedo io, più inserimenti a 'risultati' possono gionro allo stesso tempo ... Il che può bloccare la mia domanda.
Come posso evitare questo?
Quale versione .NET stai usando? – sll
Dovrebbe essere almeno .Net 4; Parallelamente è stato introdotto lì. – arootbeer