Ho un programma che esegue un metodo attraverso un Thread.Start. Il metodo ha un valore di ritorno a cui mi piacerebbe avere accesso. C'è un modo per fare questo? Qui è un campione ...Accedi al valore restituito dalla funzione delegato di 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
Quindi una volta che le estremità ciclo, sarà il someValue dovrebbe essere impostato - ma perché è eseguito in un altro thread non venga impostato. C'è un modo semplice per accedervi?
Hai provato a dichiarare alcunValore come "volatile"? –
Anche se tale tecnica di sincronizzazione è piuttosto strana, dovrebbe funzionare con il modificatore volatile. +1 per Anon –