我创建了一个线程!
但启动线程以后
主界面死住了!            test a = new test();            Thread testhreed= new Thread(new ThreadStart(a.helloworld));
            testhreed.Start();
            while (!testhreed.IsAlive)
            {
               testhreed.Abort();  
            }
这样对吧?为什么主界面会死呢?

解决方案 »

  1.   

    把你的a.helloworld代码贴出来。
          while (!testhreed.IsAlive)
                {
                   testhreed.Abort();  
                }
    是在干嘛?如果没有特殊目的的话,那完全是多余的。线程体的方法退出了,线程也就自动结束了。
      

  2.   

    while (!testhreed.IsAlive)
                {
                   testhreed.Abort();  
                }
    永远不停地执行,没有给系统处理消息的机会,当然界面会死
      

  3.   

    test a = new test();            Thread testhreed= new Thread(new ThreadStart(a.helloworld));
                testhreed.Start();就是这样,主界面一样会死!郁闷!
      

  4.   

    “把你的a.helloworld代码贴出来。”
      

  5.   

    test 类System.Threading.Thread.Sleep(10000); //这里的问题Console.WriteLine("helloworld");我的本意是想让这个类sleep一下。怎么弄?
      

  6.   

    我刚才改了一下 test            for (int i = 0; i <= 10000; i++)
                {
                    Console.WriteLine(i);
                }然后还是有问题!我点主界面的按钮都不响应!
      

  7.   

    最好将class类的代码也贴出来, 未必就是这里有问题啊
      

  8.   

    使用System.Threading.Timer 類,定時查詢線程是否islive
      

  9.   

    test a = new test();            Thread testhreed= new Thread(new ThreadStart(a.helloworld));
                testhreed.Start();
                while (!testhreed.IsAlive)
                {
                   testhreed.Abort();  
                }test 类!        public void helloworld()
            {
                for (int i = 0; i <= 10000; i++)
                {
                    Console.WriteLine(i);
                }
            }
      

  10.   

    Console.WriteLine(i); 这行注释了。
      

  11.   

    t.IsBackground = true;
    把线程变成后台线程!
    这样界面就不会死了