• 使用Join完成线程阻塞(C#)


    使用Join完成线程阻塞

    1.创建一个方法PrintNumbersWithDelay,打印1~10的整数,方法中调用Sleep方法,使其每打印一次,线程停止两秒。
    2.创建一个PrintNumbers方法,打印1~10的整数。
    3.在主程序中启动两个线程,执行上面两个方法。让第一个线程启动阻塞,组织其他线程执行。并测试执行效果。

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading;
    using System.Threading.Tasks;
    
    namespace ConsoleApp1
    {
        class Program
        {
            static void Main(string[] args)  //3.在主程序中启动两个线程,执行上面两个方法。让第一个线程启动阻塞,组织其他线程执行。并测试执行效果。
            {
                Thread t = new Thread(new ThreadStart(PrintNumbersWithDelay));
                t.Start();
                t.Join();  //使用Join完成线程阻塞
                Thread h = new Thread(new ThreadStart(PrintNumbers));
                h.Start();
            }
            static void PrintNumbersWithDelay()   //1.创建一个方法PrintNumbersWithDelay,打印1 ~10的整数,方法中调用Sleep方法,使其每打印一次,线程停止两秒。
            {
                Console.WriteLine("Starting1...");
                for (int i = 1; i <= 10; i++)
                {
                    Console.WriteLine("第1个线程:{0}", i);
                    Thread.Sleep(2000);
                }
            }
            static void PrintNumbers()   //2.创建一个PrintNumbers方法,打印1 ~10的整数。
            {
                Console.WriteLine("Starting2...");
                for (int i = 1; i <= 10; i++)
                {
                    Console.WriteLine("第2个线程:{0}", i);
                }
            }
        }
    }

    运行结果:

  • 相关阅读:
    [转]SVN 乱码问题
    [转]自己做 Visual Studio 2013 代码折叠插件
    [Java]一步一步学 Web
    [转]SQL Server 结构读取
    [转][c#]注册表经验集
    [转]加密经验集 => C#
    [转]Oracle 连接dll
    《高效能程序员的修炼》读书笔记
    Blend for Visual Studio 2013
    ASP.NET中服务器控件的生命周期
  • 原文地址:https://www.cnblogs.com/programme-maker/p/12020884.html
Copyright © 2020-2023  润新知