VB.NET通讯程序多线程 *** 作数据库问题

VB.NET通讯程序多线程 *** 作数据库问题,第1张

是不是弄出循环了?没用的应该要set nothing...如果同时有1W个连接上来...那什么电脑都死吧...?- -!!搞个排队的系统比较好...我这只是构思~没实想,因为你现在是要怎么做具体都不很清楚...就知道连接多了就死机...

...没深入了解你的问题的确很难帮上忙呵呵~

其实你要实现的这个功能,根本不需要用多线程。原因,你要去修改一条数据,那么你肯定要有两个数据,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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9960262.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存