LZY'Blog

记录LZY的生活、行程!

« 使用Thread类的Abort方法终止线程线程的优先级 »

使用Thread类的Join方法终止线程

  Join方法用来阻止调用线程,直到某个线程终止时为止。它有3种重载形式,下面分别进行介绍。

  (1)在继续执行标准的COM和SendMessage消息处理期间阻止调用线程,直到某个线程终止为止。

  语法如下:

public void Join()

  (2)在继续执行标准的COM和SendMessage消息处理期间阻止调用线程,直到某个线程终止或经过指定时间为止。

  语法如下:

public bool Join(int millisecondsTimeout)

  ☆ millisecondsTimeout:等待线程终止的毫秒数。

  ☆ 返回值:如果线程已终止,则为true;如果线程在经过millisecondsTimeout参数指定的时间量后未终止,则为false。

  (3)在继续执行标准的COM和SendMessage消息处理期间阻止调用线程,直到某个线程终止或经过指定时间为止。

  语法如下:

public bool Join(TimeSpan timeout)

  ☆ timeout:等待线程终止的时间量的TimeSpan。

  ☆ 返回值:如果线程已终止,则为true;如果线程在经过了timeout参数指定的时间量后未终止,则为false。

  【例】创建一个控制台应用程序,其中调用了Thread类的Join方法等待线程终止。

  代码如下:

//引用 using System.Threading; 命名空间
static void Main(string[] args)
{
    Thread myThread;           //声明线程
    //用线程起始点的ThreadStart委托创建该线程的实例
    myThread = new Thread(new ThreadStart(createThread));
    myThread.Start();          //启动线程
    myThread.Join();           //阻止调用该线程,直到该线程终止
}

public static void createThread()
{
    Console.Write("线程实例");
}

注意

  如果在应用程序中使用了多线程,辅助线程还没有执行完毕,在关闭窗体时必须关闭辅助线程,否则会引发异常。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

最新评论及回复

最近发表

Powered By Z-Blog 1.8 Walle Build 100427 |

Copyright 2009-2012 LZY'Blog. | ICP:蜀ICP备05027543号