zoukankan      html  css  js  c++  java
  • Part 92 Significance of Thread Join and Thread IsAlive functions

    Thread.Join & Thread.IsAlive functions

    Join blocks the current thread and makes it wait until the thread on which Join method is invoked completes.Join method also has a overload where we can specify the timeout. If we don't specify the timeout the calling thread waits indefinitely(无限期地), until the thread on which Join() is invoked completes. This overloaded Join(int millisecondesTimeout) method returns boolean. True if the thread has terminated(终止) otherwise false.

    Join is particularly(特别地) useful when we need to wait and collect result from a thread execution or if we need to do some clean-up after the thread has completed.

    IsAlive returns boolean. True if the thread is still executing otherwise false.

    public static void Main(string[] args)
            {
                Console.WriteLine("main start");
                Thread t1 = new Thread(ThreadFunction1);
                t1.Start();
                Thread t2 = new Thread(ThreadFunction2);
                t2.Start();
                if(t1.Join(1000))
                {
                    Console.WriteLine("threadfunction1 end");
                }
                else
                {
                    Console.WriteLine("threadfunction1 still working");
                }
                if(t1.IsAlive)
                {
                    for (int i = 1; i < 10; i++)
                    {
                        Console.WriteLine("threadfunction1 still working...");
                        Thread.Sleep(500);                    
                    }
                }
                Console.WriteLine("main end");
            }
    
            public static void ThreadFunction1()
            {
                Console.WriteLine("threadfunction1 start");
                Thread.Sleep(5000);
                Console.WriteLine("threadfunction1 end");
            }
    
            public static void ThreadFunction2()
            {
                Console.WriteLine("threadfunction2 start");
            }
  • 相关阅读:
    RF中selenium2Library的关键字--BrowserManagement
    excle脚本驱动+动态执行case
    unittest+HTMLtestrunner+SMTP发送邮件
    01.微博三方登录原理讲解
    图片验证码接口
    编写注册接口
    jwt安装配置
    jwt原理
    vue组件
    使用axios实现登录功能
  • 原文地址:https://www.cnblogs.com/gester/p/4870446.html
Copyright © 2011-2022 走看看