RT

解决方案 »

  1.   

    这个不一定的 
    你先看下MSDN 上对abort方法的介绍 
    调用此方法后
    线程不一定或者根本不中止
    如果成功中止
    那就可以重新start 了
    如果没中止掉就start 的话
    提示异常:线程正在运行或被终止;它无法重新启动。
      

  2.   

    不能,当调用Thread.Abort()后,即永久的终止了线程,当再调用Start()时,会引发ThreadStateException异常.
      

  3.   

    只有当该线程是被其他的线程通过调用Thread.Interrupt()或者Thread.Abort()方法,才能被唤醒。如果对处于阻塞状态的线程调用Thread.Interrupt()方法将使线程状态改变,但是会抛出ThreadInterupptedException异常
      

  4.   


    if(th.IsAlive)
    {
      th.Abort();
    }
      

  5.   

    deknight 
    正确的  
    支持。。
      

  6.   

    所谓的唤醒就是Thread.Start吧?
      

  7.   

    看看我写的代码。结束A线程后,再开始的话,弹出“线程正在运行或被终止;它无法重新启动”
            private void a()
            {
                while (true)
                {
                    if (formclosed == true)
                        break;
                    listBox1.Items.Add("A:");
                }
            }
            private void Form1_Load(object sender, EventArgs e)
            {
                A = new Thread(new ThreadStart(this.a));
            }
            private void button1_Click(object sender, EventArgs e)
            {
                A.Start();
            }        private void button2_Click(object sender, EventArgs e)
            {
                if (A.IsAlive)
                    A.Abort();
            }
      

  8.   

    Thread.IsAlive 判断线程是否处于活动状态
      

  9.   

    不行,要重新new。
    要记住线程的概念,什么是线程:运行的方法就叫线程。