...没深入了解你的问题的确很难帮上忙呵呵~
其实你要实现的这个功能,根本不需要用多线程。原因,你要去修改一条数据,那么你肯定要有两个数据,1:哪条数据,2:当前是不是正在被修改中。那么你要获取这两个量的话,你必须要起一条线程起来不停地去检查这个到底现在是什么状态,是可以修改的状态才运行你当前要修改的这一 *** 作。建议这样实现:再你要检查的那个表中加一个标志性字段,可以定义成bit,1的时候表示当前这一条数据可以被修改,也就是没有其他人来 *** 作它,0的时候,这条数据不能被修改,其他人正在 *** 作它。当遇到不能修改这条数据的时候,这里可以用多线程控制去做每隔一小段时间的重复查询,看看这条数据是否可以修改了。
你可以在timer前用if判断网络状态,如断开,可用
threading.Thread.Sleep(10000)‘当前线程挂起10秒
’可以开一个新线程去读取脱机数据。
如连接,则继续执行。
补充:
dim i as integer
'超过100次退出,避免死循环
for i=0 to 100
try
'ping你的端口
if ‘ok
exit for
else
threading.Thread.Sleep(10000)‘当前线程挂起10秒
end
Catch ex As Exception
End Try
next
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)