定期检查网络通断并做相应处理的程序,运行后不能定期进行网络通断状况检查?

citylamp 2003-07-30 08:54:26
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
thread1 = New Threading.Thread(AddressOf MonitorThread)
thread1.Priority = Threading.ThreadPriority.Normal
' thread2 = New Threading.Thread(AddressOf Button_Click)
NetGood = True ’初使设置网络为通
thread1.Start() ‘开始监控线程
End Sub

Private Sub MonitorThread() ‘网络监控子函
Dim pingobj As New Project1.Class1
Do While True
thread1.Sleep(1000)
If pingobj.Ping(1000) = False Then ’pingobj.Ping是检查网络通断的子函
NetGood = False '如网络断,设置标志并暂停线程
thread1.Suspend()
Call RefreshNetConnection() ’刷新网络连接子函
Exit Sub
Else
NetGood = True ‘网络正常
thread1.Sleep(5000) ’五分钟后再进行网络检查
End If
Loop
End Sub
Sub RefreshNetConnection() ...略
...全文
62 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
citylamp 2003-08-01
  • 打赏
  • 举报
回复
up,请大家解答。
pipibug 2003-08-01
  • 打赏
  • 举报
回复
楼主结贴! 追加的问题已经和本贴的题目相去甚远,应该另外开贴问才对。

不要太省哟~
pipibug 2003-08-01
  • 打赏
  • 举报
回复
晕倒~

方法和线程的问题。
你的Thread1() 和 Thread2()是方法还是线程?

线程只有在执行了Thread.Start() 才会被创建,而不是调用方法Thread1()来创建的。
我估计你的情况是这样的:
你写了两个方法Thread1(), Thread2();然后又开了两个线程来执行这两个方法,分别为Thd1和Thd2来分别运行方法Thread1()和Thread2();
在Thd1和Thd2运行起来之后,你又在其他地方(比如主线程里)调用了方法Thread1()或者/和Thread2()。

在这种情况下面,后调用的方法不会创建新的线程。也和已经有的线程没有关系。他们在主线程中执行。

citylamp 2003-07-31
  • 打赏
  • 举报
回复
突然想起一个问题:假如thread1的构造函数是thread1(),thread2的构造函数是thread2()。那么如果主线程(即系统启动时的线程)运行中间调用了thread1()或thread2(),那不就可能有thread1()或thread2()的两个实例在运行了吗?--就是相当于运行了两个thread1或thread2了!我的想法对吗?怎么避免这种情况呢?
pipibug 2003-07-31
  • 打赏
  • 举报
回复
快乐王子说的对。 先suspend就不执行reconnect了。

不过像快乐王子说的那样,你就suspend不了thread1了. 而sleep对你的功能没什么用的。


解决方案:把thread1.suspend()移到RefreshNetConnection() 里开始的地方,然后在RefreshNetConnection() 结束前再加上thread1.resume()

pipibug 2003-07-31
  • 打赏
  • 举报
回复
把Dim pingobj As New Project1.Class1 放到线程外。
citylamp 2003-07-31
  • 打赏
  • 举报
回复
up
panyee 2003-07-30
  • 打赏
  • 举报
回复
好像是这样, suspend()把进程挂起了
Montaque 2003-07-30
  • 打赏
  • 举报
回复
代码有问题。
NetGood = False '如网络断,设置标志并暂停线程
thread1.Suspend()
Call RefreshNetConnection() ’刷新网络连接子函
Exit Sub
改为
NetGood = False '如网络断,设置标志并暂停线程
Thread.Sleep(500)
Call RefreshNetConnection() ’刷新网络连接子函

panyee 2003-07-30
  • 打赏
  • 举报
回复
up
为何不行?
标题SpringBoot与微信小程序结合的生猪养殖信息化管理系统研究AI更换标题第1章引言介绍生猪养殖信息化管理的研究背景、意义、现状及论文创新点。1.1研究背景与意义阐述生猪养殖信息化管理对提升养殖效率的重要性。1.2国内外研究现状分析国内外生猪养殖信息化管理系统的研究进展。1.3研究方法以及创新点概述SpringBoot与微信小程序结合的技术路径和创新点。第2章相关理论总结SpringBoot框架与微信小程序开发的相关理论。2.1SpringBoot框架理论介绍SpringBoot框架的特点、优势及在Web开发中的应用。2.2微信小程序开发理论阐述微信小程序的开发原理、架构及与后端服务的交互方式。2.3生猪养殖信息化管理理论概述生猪养殖信息化管理的核心概念、流程及需求。第3章系统设计详细介绍基于SpringBoot与微信小程序的生猪养殖信息化管理系统的设计方案。3.1系统架构设计系统的整体架构,包括前端、后端及数据库设计。3.2功能模块设计详细介绍系统的各个功能模块,如养殖管理、数据统计等。3.3数据库设计阐述数据库的设计思路、表结构及关系。第4章系统实现阐述基于SpringBoot与微信小程序的生猪养殖信息化管理系统的实现过程。4.1SpringBoot后端实现介绍后端服务的开发环境、技术选型及实现细节。4.2微信小程序前端实现阐述前端界面的设计、开发及与后端服务的交互。4.3系统集成与测试系统的集成过程、测试方法及结果。第5章研究结果展示系统实现后的效果,包括性能、用户反馈等方面的分析。5.1系统性能分析从响应时间、并发处理等方面分析系统的性能。5.2用户反馈分析收集并分析用户对系统的使用反馈,评估系统的实用性。5.3对比方法分析对比传统生猪养殖管理与信息化管理的差异和优势。第6章结论与展望总结研究成果,提出未来研究方向。6.1研究结论概括系统的主要功能、性能及用户
yolov5 人体姿态异常检测系统代码与完整数据集(优质项目).zip该文件内程序已通过本地测试,可直接执行。用户只需依据说明文档设置运行环境即可使用。项目复杂度适中,内容由教学辅助人员审核,适用于教学及实际应用,具备良好实用性,可放心获取。yolov5 人体姿态异常检测系统代码与完整数据集(优质项目).zip该文件内程序已通过本地测试,可直接执行。用户只需依据说明文档设置运行环境即可使用。项目复杂度适中,内容由教学辅助人员审核,适用于教学及实际应用,具备良好实用性,可放心获取。yolov5 人体姿态异常检测系统代码与完整数据集(优质项目).zip该文件内程序已通过本地测试,可直接执行。用户只需依据说明文档设置运行环境即可使用。项目复杂度适中,内容由教学辅助人员审核,适用于教学及实际应用,具备良好实用性,可放心获取。yolov5 人体姿态异常检测系统代码与完整数据集(优质项目).zip该文件内程序已通过本地测试,可直接执行。用户只需依据说明文档设置运行环境即可使用。项目复杂度适中,内容由教学辅助人员审核,适用于教学及实际应用,具备良好实用性,可放心获取。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!

16,722

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧