C#:线程(4):线程等待

本文探讨了C#中线程等待的概念,通过`线程名.Join()`语句来说明如何确保线程执行完毕后再继续主程序的执行。通过一个实例展示了线程等待的应用,解释了在主线程中调用`t.Join()`会暂停主线程,转而执行t线程,直至t线程执行完毕,然后主线程恢复运行。
摘要由CSDN通过智能技术生成

线程等待,或者说叫等待线程。其语句是  线程名.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线程执行完成后再跳转回主线程继续执行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值