我有一个通过 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
因此,一旦 while 循环结束,应该设置 someValue - 但因为它是在另一个线程中执行的,所以它不会被设置。有没有一种简单的方法可以访问它?
当调用者和线程方法共享一个变量时,您已经可以访问它 - 一旦线程完成,您只需检查someValue
.
当然,您必须知道线程方法何时完成才能发挥作用。在底部,有两种方法可以做到这一点:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)