线程操作之终止线程

Posted WhiteSpace

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了线程操作之终止线程相关的知识,希望对你有一定的参考价值。

线程的终止时通过Thread类的abort方法来实现的,如一个现成执行时间太长,用户有可能要终止这个线程,这就要使用此方法

注意:在线程调用Abort方法时,会引发ThreadAbortExcepion 异常,如果没有捕捉异常,线程将会终止

实例

通过While判定在屏幕上输出“>”字符的线程是否为执行完毕,当线程没有执行完毕时,就计算循环次数,当达到5次时,就终止线程。

 class Program
    {
        public static void meth()
        {
            for (int i = 1; i <=4000; i++)
            {
                if (i%40==0)
                {
                    Console.WriteLine(">");
                }
                else
                {
                    Console.Write(">");
                }
            }

        }
        static void Main(string[] args)
        {
            //ThreadStart ts = new ThreadStart(meth);
            Thread th = new Thread(meth);
            th.Start();
            Console.WriteLine("线程开始启动");
            int i = 0;

            while (th.IsAlive)   //判断线程状态
            {
                i++;
                Thread.Sleep(5);   //线程挂起5秒后在执行,要不只会显示《启动和终止》
                if (i==5)
                {
                    th.Abort();   //终止线程
                    Console.WriteLine("线程终止");
                }
            }
            Console.Read();
        }

 

以上是关于线程操作之终止线程的主要内容,如果未能解决你的问题,请参考以下文章

Python 并发编程之线程

转: Java并发编程之三:线程挂起恢复与终止的正确方法(含代码)

Java多线程系列--“基础篇”09之 interrupt()和线程终止方式

Java多线程系列---“基础篇”09之 interrupt()和线程终止方式

多线程编程之两阶段终止模式

Java基础加强之多线程篇(线程创建与终止互斥通信本地变量)