所以这是我的计划的细分。它是一种测量指定端口上服务器延迟的工具。
所以目前我有一个手动检查来查找特定端口上的服务器。然后我每隔500毫秒ping这个服务器并根据此ping更新一些GUI元素。
我在后台线程中完成了ping操作,并在每次ping后调用thread.sleep(500)。
在这些活动中使用计时器会更好吗?
我想每5秒检查一次服务器,每隔500毫秒ping一次。
答案 0 :(得分:1)
使用2个计时器。睡觉线程是可怕的表现。执行5秒定时器时,禁用500 ms定时器。完成执行后,启用它。这是最简单,最有效的方法,IMO。
或者,如果无关紧要,请不要禁用计时器。只要保持两者,你就可以了。
答案 1 :(得分:0)
您可以使用任务计划程序API并设置一次性任务,该任务将在接下来的5秒后启动应用程序.Nice managed wrraper:taskscheduler.codeplex.com
答案 2 :(得分:0)
当您使用睡眠时,任务需要多长时间并不重要。睡500个小时,做5个小时的任务,然后再睡一觉。
如果您使用计时器,则必须处理您的任务可能与下一个计时器事件的触发重叠的可能性。这让事情变得更复杂。