Tengo un programa que ejecuta un método a través de un Thread.Start. El método tiene un valor de retorno al que me gustaría tener acceso. ¿Hay alguna forma de hacer esto? He aquí una muestra ...Acceso a valor de retorno desde la función de delegado Thread.Start()
var someValue = "";
Thread t = new Thread(delegate() { someValue = someObj.methodCall(); });
t.Start();
while (t.isAlive) Thread.Sleep(1000);
// Check the value of someValue
Así que una vez que los extremos bucle while, el someValue debe fijarse - sino porque es ejecutado en otro hilo no quede ajustado. ¿Hay una manera simple de acceder a ella?
¿Ha intentado declarar algunosValores como 'volátiles'? –
Aunque tal técnica de sincronización es bastante extraña, debería funcionar con un modificador volátil. +1 para Anon –