一 Thread.Join() 官网解释如下:
Join 一个同步方法,该方法阻止调用线程 (即调用方法的线程) ,直到 Join 调用方法的线程完成。 使用此方法可以确保线程已终止。 如果线程未终止,调用方将无限期阻止。 在下面的示例中, Thread1 线程调用的 Join() 方法 Thread2 ,这会导致 Thread1 一直阻止到 Thread2 完成为止。
个人感觉初学者很难弄清楚中间的专业名词,所以我将自己的使用体会记录下来,希望能给初学者一定的帮助。
二 个人对官网解释的理解:
1.一个线程在执行的过程中,可能调用另一个线程,前者可以称为调用线程,后者成为被调用线程。
2.Thread.Join方法的使用场景:调用线程挂起,等待被调用线程执行完毕后,继续执行。
3.被调用线程执行Join方法,告诉调用线程,你先暂停,我执行完了,你再执行。从而保证了先后关系。
三 实例讲解
using System;
using System.Threading;
public class Example
{
static Thread thread1, thread2;
public static void Main()
{
thread1 = new Thread(ThreadProc);
thread1.Name = "Thread1";
thread1.Start();
thread2 = new Thread(ThreadProc);
thread2.Name = "Thread2";
th