irpersian20
یک شنبه 25 فروردین 1392, 16:27 عصر
سلام
مگر وقتی یک ترد join میشه. تا وقتی که ترد کارش تمام نشده به خط بعدی نمیورد درسته؟
در مثال زیر t1.join() شده است.پس باید اول این چاپ بشه
Console.WriteLine("t1 is ending.");
اما این برعکس هست. اول t2 اجرا میشه که
using System; using System.Threading; class Example { static void Main() { Thread t1 = new Thread(() => { Thread.Sleep(4000); Console.WriteLine("t1 is ending."); }); t1.Start(); Thread t2 = new Thread(() => { Thread.Sleep(1000); Console.WriteLine("t2 is ending."); }); t2.Start(); t1.Join(); Console.WriteLine("t1.Join() returned."); t2.Join(); Console.WriteLine("t2.Join() returned."); } } /* This example produces the following output: t2 is ending. t1 is ending. t1.Join() returned. t2.Join() returned. */
مگر وقتی یک ترد join میشه. تا وقتی که ترد کارش تمام نشده به خط بعدی نمیورد درسته؟
در مثال زیر t1.join() شده است.پس باید اول این چاپ بشه
Console.WriteLine("t1 is ending.");
اما این برعکس هست. اول t2 اجرا میشه که
using System; using System.Threading; class Example { static void Main() { Thread t1 = new Thread(() => { Thread.Sleep(4000); Console.WriteLine("t1 is ending."); }); t1.Start(); Thread t2 = new Thread(() => { Thread.Sleep(1000); Console.WriteLine("t2 is ending."); }); t2.Start(); t1.Join(); Console.WriteLine("t1.Join() returned."); t2.Join(); Console.WriteLine("t2.Join() returned."); } } /* This example produces the following output: t2 is ending. t1 is ending. t1.Join() returned. t2.Join() returned. */