C#应用程序等待线程完成?

时间:2014-10-10 12:47:59

标签: c# multithreading

我有一个应用程序,其中一个线程用于计算一堆数字,但问题是应用程序在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"。

任何想法的家伙?谢谢!

1 个答案:

答案 0 :(得分:3)

要等到线程完成,你Join

t.Join();