class Program
{
static void Main(string[] args)
{
ParameterizedThreadStart aStart = new ParameterizedThreadStart(Addition);
Thread aThread = new Thread(aStart);
Data aData = new Data();
aData.X = 10;
aData.Y = 20;
aThread.Start(aData);
aThread.Join();
Console.WriteLine("End of the program");
}
static void Addition(object data)
{
var a = data as Data;
var b = a.X + a.Y;
a.result = b;
Console.WriteLine(a.result);
Thread.Sleep(1000);
Console.WriteLine("End of thread");
}
}
我写了一个例子来理解Join方法(); 任何机构都能解释它是如何工作的吗和sleep()
之间有什么区别答案 0 :(得分:1)
Thread.Sleep
阻止当前线程达到指定的毫秒数。
- Thread.Join
阻止调用线程直到线程终止(你不知道多长时间)
请注意,Thread.Join()方法只会阻塞调用线程(通常是应用程序的主要执行线程),直到线程对象完成为止。在等待特定的Thread完成执行时,您仍然可以在后台执行其他线程。
http://msdn.microsoft.com/en-us/library/system.threading.thread.join.aspx
答案 1 :(得分:0)
Join
等待你调用它的线程停止。 Sleep
睡了一段时间。
答案 2 :(得分:0)
它导致当前运行的线程停止执行,直到它加入的线程停止执行为止。连接方法等待线程死亡。