“卡死”是一个非常主观的描述,如果你要让主线程杀掉卡死的线程,那么你必须给“卡死”做出准确的定义。
在博湖等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站设计制作、网站建设 网站设计制作按需网站策划,公司网站建设,企业网站建设,成都品牌网站建设,全网整合营销推广,外贸网站制作,博湖网站建设费用合理。
什么是卡死?30秒没有响应就是卡死?那么“没有响应”的定义又是什么?
你给出这些条件以后,杀掉一个线程就不难。Abort方法,Dispose方法,都可以。
Sub bc()
Dim cs As New qq163(AddressOf js)
Application.DoEvnts
Invoke(cs)
End Sub
1、重新生成
2、下边提示主数据连接没有应答,是不是没有运行到这一步
加断点看有没有运行到这一步
用
t.Suspend() 这个是挂起线程。是一个异步方法。
t.Sleep 我看了是一个同步方法。要等这个方法运行完了才继续下一步。
这和from.show和 from.showdiaglog区别差不多!
至于疑问2我也没找到原因。
在处理过程中没几个循环执行一次DoEvents语句,可以让窗体有响应,但会让处理速度变慢,这是最简单的办法。不然就只能考虑多线程了,不过VB6的多线程不是很稳定,调试运行容易崩溃,要多一些代码控制线程,如果真的要多线程的话可以看看这里
在button1的Click事件处理方法中加上一句试试看
private void button1_Click(object sender, EventArgs e)
{
// 原来的代码不变……
// 最后加上这句
this.Focus();
}
另外,必须保让你窗口是当前活动窗口!