zoukankan      html  css  js  c++  java
  • 使用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);
                }
            }
        }
    }

    运行结果:

  • 相关阅读:
    中间件
    Linux命令
    Ionic 2 Guide
    JSON WEB TOKENS
    用MSBuild和Jenkins搭建持续集成环境(2)
    用MSBuild和Jenkins搭建持续集成环境(1)
    全文检索和消息队列
    redis之如何配置jedisPool参数
    Redis Clients Handling
    redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool
  • 原文地址:https://www.cnblogs.com/programme-maker/p/12020884.html
Copyright © 2011-2022 走看看