for (int i=1; i <= Convert.ToInt32(textBox5.Text); i++)
                {
                    thread = new Thread(new ThreadStart(rdping));
                    thread.IsBackground = true;
                    thread.Start();
                    Thread.Sleep(Convert.ToInt32(textBox6.Text));
                    print("线程["+i.ToString()+"]启动完毕", ConsoleColor.Yellow);
                }
我这样开启多线程的。。怎么来关闭啊求解决啊方案啊。

解决方案 »

  1.   

    rdping 这个方法执行完毕线程自然就“关闭”了。用不着你做什么。
      

  2.   

    可以用Abort方法强制终止线程
      

  3.   


    不要望文生义。你确定调用 Abort 方法就能让rdping 过程中断下来?这完全是无意义的。
      

  4.   

    你所需要了解的是线程的同步,也就是通过一个同步变量来控制线程的执行,外部改变同步变量的状态,线程中检查这个变量的状态,确定是否结束运行。最简单的同步变量可以是静态变量,或者通过线程的Start传参数进去。
      

  5.   

    线程池里的线程是由CLR管理的,你的任务执行完了,线程就返回给线程池,过一段时间不用,CLR就终止该线程。你不用去关闭他~
      

  6.   

    1.先定义一个public static List<Thread> Threades = new List<Thread>();   
    2.在线程添加时也循环添加Threades。
    3.在退出时循环Threades里的Thread  Abort即可