问题1:
winform用了多线程,线程在运行状态,直接关闭窗口要报错,用了
private void Sub_BbsExp_FormClosed(object sender, FormClosedEventArgs e)
{
t.Abort();
}还是不行问题2;用Suspend()提示过时,那用什么方法呢,我要实例化新线程,实现的效果是点 挂起按钮 就挂起线程,此时挂起按钮变为 取消挂起 ,再点就继续该线程.
winform用了多线程,线程在运行状态,直接关闭窗口要报错,用了
private void Sub_BbsExp_FormClosed(object sender, FormClosedEventArgs e)
{
t.Abort();
}还是不行问题2;用Suspend()提示过时,那用什么方法呢,我要实例化新线程,实现的效果是点 挂起按钮 就挂起线程,此时挂起按钮变为 取消挂起 ,再点就继续该线程.
private bool exit = false;
在窗体关闭时将这个变量设为 true,
在线程里不断检查这个变量,一旦它为 true,线程就立即释放资源并退出。
==========
你也可以试试这个
private void Sub_BbsExp_FormClosed(object sender, FormClosedEventArgs e)
{
t.Abort();
t.Join(10);
}
不过楼上的photoplan()的方法我也用过,以前在项目里我也是用一个bool变量来标记线程是否应该马上终止的.
第二个问题,suspend()还是可以用啊,或者你可以用Threading命名空间下的Monitor,Mutex这样的类,具体的使用方法可以查一下MSDN.
我最近用多线程开发了一个网络软件,用的是两个标记量shouldStop和shouldSuspend来完成的。--------------------------------------------------------------------------------
专注于自动提交,如发贴机资源采集器等网络营销软件的开发及相关领域如验证码识别技术。
QQ群号:24733057