多线程又没办法强制结束
vb.net吧
全部回复
仅看楼主
level 8
chichu007
楼主
abort搞不定,连接数据库的时候停不掉线程
2014年04月13日 00点04分
1
level 13
Nukepayload2
abort是引发ThreadAbortException结束线程的。要立即结束,需要使用TerminateThread
2014年04月13日 01点04分
2
chichu007
这个怎么用,相关vb.net的资料好少,比如t.thread这个线程start后如何用teaminatethread结束?
2014年04月13日 01点04分
Nukepayload2
回复 chichu007 :新线程中使用 GetCurrentThreadId 传给主线程,需要结束的时候确保新线程释放了该释放的对象并且没有调用kernel32的API时使用TerminateThread
2014年04月13日 01点04分
level 13
Nukepayload2
立即结束是比较危险的,影响稳定性。
2014年04月13日 01点04分
3
chichu007
我是ado.net连接mssql的线程。sql主机关闭的时候,timeout怎么设置都没用。创建个连接线程,不强制结束的话线程会卡卡卡卡怎么办[惊讶]
2014年04月13日 02点04分
Nukepayload2
回复 chichu007 :那你试试直接结束会不会锁死或内存泄漏,如果正常你强行结束好了
2014年04月13日 02点04分
level 8
chichu007
楼主
我是ado.net连接mssql的线程。sql主机关闭的时候,timeout怎么设置都没用。创建个连接线程,不强制结束的话线程会卡卡卡卡怎么办
2014年04月13日 02点04分
4
level 9
Yentre
我是用公共变量去控制的
2014年04月20日 00点04分
5
chichu007
我也是但是卡死的时候你的变量读取不到啊。
2014年04月20日 02点04分
Yentre
回复 chichu007 :卡死?你的线程里没加doevents么
2014年04月20日 03点04分
chichu007
回复 Yentre :你没看我上面!连接数据库的时候,服务器关闭ip不存在的时候connetion.open就会死。死一分钟都有。
2014年04月20日 03点04分
Yentre
回复 chichu007 :你是说那个connect那里会有一个中断出现,然后进入等待是吧
2014年04月20日 03点04分
level 9
123vavbvc
创建新线程监控它 设置timeout或判断返回数据 返回0用强制结束
2014年04月20日 14点04分
6
chichu007
timeout不管用的,因为到没连接到数据库,哪里来的超时时间。新线程强制结束不会,楼上的强制结束方法不会用。奥
2014年04月21日 03点04分
1