zoukankan      html  css  js  c++  java
  • Thread.Join() 方法

    MSDN:Blocks the calling thread until a thread terminates

    1. 什么是 the calling thread?

    2. 什么是 a thread?

    运行一个程序,即开启了一个进程和至少一个线程,干活的是线程而非进程!the calling thread 我们可以认为是MainThread(或者调用线程的线程,是不是有点绕?呵呵),a thread 我们就认为是被调用的线程。

    最后,我们可以这样翻译MSDN:当 a thread 调用Join方法的时候,MainThread 就被停止执行,直到 a thread 线程执行完毕。

    下面是测试代码:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading;
     
    namespace Test
    {
        class TestThread
        {
            private static void ThreadFuncOne()
            {
                for (int i = 0; i < 10; i++)
                {
                    Console.WriteLine(Thread.CurrentThread.Name +"   i =  " + i);
                }
                Console.WriteLine(Thread.CurrentThread.Name + " has finished");
            }
     
            static void Main(string[] args)
            {
                Thread.CurrentThread.Name = "MainThread";
     
                Thread newThread = new Thread(new ThreadStart(TestThread.ThreadFuncOne));
                newThread.Name = "NewThread";
     
                for (int j = 0; j < 20; j++)
                {
                    if (j == 10)
                    {
                        newThread.Start();
                        newThread.Join();
                    }
                    else
                    {
                        Console.WriteLine(Thread.CurrentThread.Name + "   j =  " + j);
                    }
                }
                Console.Read();
            }
        }
    }

    image

    结论:

    MainThread 在 NewThread.Join() 被调用后被阻塞,直到 NewThread 执行完毕才继续执行。

    转自https://www.cnblogs.com/SkySoot/archive/2012/06/27/2566004.html

  • 相关阅读:
    网络English word
    Top instruction significance and use sar command
    远程传输+用yum安装文件+make编译安装软件
    windows主机向虚拟机Linux传输过程的错误重重艰苦历程
    pair结构体数组
    set容器
    scanf多组样例输入
    贪心硬币
    补一下蛇形矩阵
    如何在eclipse运行asn
  • 原文地址:https://www.cnblogs.com/asdyzh/p/9833977.html
Copyright © 2011-2022 走看看