2015-03-23 10 views
5

Sto usando Parallel per eseguire un singolo metodo con valori di input diversi ma voglio ottenere il valore di ritorno del metodo. Come posso ottenerlo?Ottieni il valore di ritorno del metodo nell'esecuzione parallela C# .Net4.0

public class Work 
{ 
    public static void Main() 
    { 

     Parallel.Invoke(() => DoWork("Raju"), 
         () => DoWork("Ramu")); 
    } 

    public static string DoWork(string data) 
    { 
     return "tesing" + data; 
    }} 

Nel metodo sopra desidero ottenere il valore restituito da DoWork.

Cordiali saluti, Rajendar.

+0

Hai letto questo post? : http://www.dotnetcurry.com/showarticle.aspx?ID=491 –

risposta

11

Basta gestire il valore di ritorno in questo modo:

string result1, result2; 

Parallel.Invoke(() => result1 = DoWork("Raju"), 
       () => result2 = DoWork("Ramu")); 

Ricordate anche che ogni volta che si fa qualcosa in parallelo è necessario essere attenti ad evitare le gare di dati e condizioni di gara.

Problemi correlati