我有一个应用程序,其中一个线程用于计算一堆数字,但问题是应用程序在Thread完成计算之前完成并返回计算出的数字。在计算完成之前,让应用程序等待的方法是什么?
这是我的代码:
namespace ThreadWaiting
{
class Program
{
public static int number=0;
public static void Main(string[] args)
{
Thread t = new Thread(Calculate);
t.Start();
//Wait here until processed?
Console.WriteLine(number);
Console.ReadKey();
}
private static void Calculate(object obj)
{
number = 2 + 2;
}
}
}
如果你运行它,你会看到它打印" 0"而不是" 4"。
任何想法的家伙?谢谢!
答案 0 :(得分:3)
要等到线程完成,你Join
:
t.Join();