Accès valeur de retour du Thread.Start (), la fonction de délégué

J'ai un programme qui exécute une méthode par un Fil.Commencer. La méthode a une valeur de retour que j'aimerais avoir accès. Est-il un moyen de faire cela? Voici un échantillon...

var someValue = "";
Thread t = new Thread(delegate() { someValue = someObj.methodCall(); });

t.Start();

while (t.isAlive) Thread.Sleep(1000);

//Check the value of someValue

Donc, une fois que la boucle while se termine, le someValue doit être réglé -, mais parce qu'il est exécuté dans un autre thread, il ne va pas ensemble. Est-il un moyen simple pour obtenir un accès?

  • Avez-vous essayé de déclarer someValue comme volatile?
  • Même si cette technique de synchronisation est assez bizarre, il devrait travailler avec les volatiles modificateur. +1 pour Anon
InformationsquelleAutor bugfixr | 2009-12-21