关于线程异常处理的问题????????(100分)

  • 主题发起人 主题发起人 sanlanggugu
  • 开始时间 开始时间
S

sanlanggugu

Unregistered / Unconfirmed
GUEST, unregistred user!
在一个线程中操作数据库 而且是个不间断的操作(每隔几秒检索一次数据库) 但应用程序
是在客户端,当网络断开,出现异常,我应该怎么样得到异常,然后挂起这个线程????
 
try
except
end
 
达到延时重新连接!
启动定时器,然后 suspend
定时器:检查线程状态,激活线程,并关闭定时器。
 
我现在使用的一个ping服务器的线程 来时时的ping服务器 本意是当服务器断开时,
然后挂起检索数据库的线程,但是现在的问题:检索数据库的线程还没来的及挂起
,数据库已经但开,已经出现异常。和jsxjd用的方法应该差不多吧,请jsxjd重新
解释一下这个问题。。。。。。。。。
 
检索数据库为主线程,检测网络为副线程。
副线程每3秒ping服务器,根据ping的结果将网络正常表示为Y/N,
主线程根据网络正常Y/N决定是否检索数据库。
我就是这样做的。
 
to duancy:
不知你是否试过此时把网线断掉出现的结果,我现在也是每3秒ping一次服务器,]
检索数据库因为需要有5个线程,在ping的线程中如果ping不到服务器就挂起其它5个线程
可是我现在却挂不起线程
 
To sanlanggugu:
你用的是什么连数据库,如是bde,那你只好换ado了,
因为bde控件自己有独立地线程,没法挂起1
 
当然ado了 我认为因为ping的线程和检索数据库的线程优先级时一个级别的, ping的线程还没来得及
挂起别的线程 检索数据库的线程已经出现异常了
 
呜。。。大家给我出出主意哦
 
出现异常你就sleep一会,再判断套接字是否关闭,如果关闭再建一个
 
后退
顶部