set the IsBackground property of the thread to true

解决方案 »

  1.   

    这个当然不算如果这也算的话整个windows都有BUG了windows管理资源通过UI线程与资源无关的采用工作线程
      

  2.   

    这不能说是.Net的BUG,用任何语言编写多线程都可能有这个问题。
    这个问题有部分是设计者的责任,你应该定期接收UI线程的消息,以决定后台线程是中止还是继续。
      

  3.   

    用saucer的方法就够了。
    得到线程对象后,
    t.IsBackground=true;例如
    一:
    Thread t=new ThreadStart(MyFunc);
    t.IsBackground=true;
    t.Start();
    二:
    void MyFunc()
    {
        Thread.CurrentThread.IsBackground=true;
    }------
    设置一个主线程和工作线程都能访问的标记。
    工作线程的每一小步完成后都检查一下,标记的值。应该退出就退出。
    --------
    当然,如果那线程是可以任意中断的,使用Abort也算了。