मैं कई कार्यों को चलाने की कोशिश कर रहा हूं जो एक दूरस्थ साइट (नेटवर्क द्वारा) से जुड़ते हैं और एक सामान्य सूची वापस करते हैं। लेकिन मैं उन्हें एक साथ चलाना चाहता हूं।
उदाहरण के लिए:
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;
}
जैसा कि मैंने देखा है, 'परिणाम' के लिए कई सम्मिलन एक ही समय में खुश हो सकते हैं ... जो मेरे आवेदन को क्रैश कर सकते हैं।
इससे कैसे बचा जा सकता है?