如何利用多线程,来实现,当for循环还没有结束的时候,就终止!

来源:百度知道 编辑:UC知道 时间:2024/06/29 02:11:51
如何利用多线程,来实现,当for循环还没有结束的时候,就终止!
for(i<100)
{}
这里程序在多线程的应用程序中执行的,所以说我应该怎么去做,当我给一个button单击事件,就开始结束这个for循环,无论for循环结束还是没有结束,希望能够发个代码?
当们循环的时候,点击终止,并且记录循环的位置,当我们再一次点击开始的时候,他从相关位置记取循环的位置,在这个位置再一次开始,如何开始?

共享一个局部变量,在for内部检测。
比如:

bool isAskForStop=false;

在button的事件里面这样写:
void button_click(object sender,EventArgs e)
{
isAskForStop=true;
}

//下面是循环
for(...)
{
Application.DoEvents(); //加这句话是为了防止主界面无法响应鼠标点击
if(isAskForStop){isAskForStop=false;break;} //重置标志位,然后跳出循环
}

最简单的,可以做一个共用的变量,在button事件处理函数里修改变量,在for循环中判断变量的值;

其次,可以在button事件处理函数里终止掉运行for循环的线程