首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

在做弹出窗口时用到Thread.Abort(),经常引发ThreadAbortException 错误

2012-03-17 
在做弹出窗口时用到Thread.Abort(),经常引发ThreadAbortException 异常查询中数据量多,程序等待时间较长,

在做弹出窗口时用到Thread.Abort(),经常引发ThreadAbortException 异常
查询中数据量多,程序等待时间较长,在提交查询时加了一个等待窗口,,

代码如下:

//等待窗口 启动
Thread thPIC = new Thread(new ThreadStart(waitfmshow));
thPIC.Name = "waitfmshow";
thPIC.Priority = ThreadPriority.Normal;
thPIC.Start();

。。.查询代码

Thread.Sleep(100);
thPIC.Abort(); //查询关闭

//等待窗口
public void waitfmshow()
{
  WaitingForm waitfm = new WaitingForm();
  Application.Run(waitfm);
 }


现在问题是提交太频繁时经常出现 ThreadAbortException,无奈啊。。。

[解决办法]
if (thPIC.IsAlive)
{
thPIC.Abort();
}
[解决办法]
通过标志,在线程中要对标志做相应的处理 
然后关闭时,先打开标志,用线程Join来等待结束
catch(ThreadAbortException ex) 


}

热点排行