线程等待,或者说叫等待线程。其语句是 线程名.Join() 。按照我的理解,这个语句其实是告诉系统程序,这个线程很重要,你必须使用全部的计算资源供他计算,等他计算结束了之后再回到这个位置。
举例来说,下面这个程序就用了线程等待的技术,t.Join()使得cpu先执行完了t线程内的计算然后再继续主函数的运算。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Threading;
using static System.Console;
namespace Ch01Re03
{
class Program
{
static void Main(string[] args)
{
WriteLine("Starting...");
Thread t = new Thread(PrintNumbersWithDelay);
t.Start();
t.Join();
WriteLine("Thread ends...");
ReadKey();
}
static void PrintNumbersWithDelay()
{
WriteLine("Thread starting...");
for (int i=0;i<10;i++)
{
Thread.Sleep(TimeSpan.FromSeconds(2));
WriteLine(i);
}
}
}
}
当主线程执行到t.Jooin()一句时,跳转到t线程并等待t线程执行完成后再跳转回主线程继续执行

C#编程:深入理解线程等待机制
本文探讨了C#中线程等待的概念,通过`线程名.Join()`语句来说明如何确保线程执行完毕后再继续主程序的执行。通过一个实例展示了线程等待的应用,解释了在主线程中调用`t.Join()`会暂停主线程,转而执行t线程,直至t线程执行完毕,然后主线程恢复运行。
5081

被折叠的 条评论
为什么被折叠?



