多重大规模循环的结束方法
[ 2006-05-09 18:03:11 | 作者: admin ]
如果想安全结束的话,设置停止标签,然后join线程结束;
否则,你可以用线程的abort或者Application.ExitThread之类的来强行关闭线程。
建议使用BackgroundWorker + WaitDialog实现!
如果在循环中确定窗体不会假死,就使用:
bool StopFlag = false; //在循环外设置一个停止标签
for(int i=0;i<1000;i++)
{
if(StopFlag == true)break; //最好定义在顶级循环中允许停止,否则可能出现运算错误
for(int j=0;j<10;j++)
{
//....
}
}
btnStop_Click(...) //按钮事件
{
this.StopFlag = true;
this.btnStop.Enabled = false;
}
否则,你可以用线程的abort或者Application.ExitThread之类的来强行关闭线程。
建议使用BackgroundWorker + WaitDialog实现!
如果在循环中确定窗体不会假死,就使用:
bool StopFlag = false; //在循环外设置一个停止标签
for(int i=0;i<1000;i++)
{
if(StopFlag == true)break; //最好定义在顶级循环中允许停止,否则可能出现运算错误
for(int j=0;j<10;j++)
{
//....
}
}
btnStop_Click(...) //按钮事件
{
this.StopFlag = true;
this.btnStop.Enabled = false;
}
评论Feed: http://blog.xg98.com/feed.asp?q=comment&id=538
这篇日志没有评论。
此日志不可发表评论。