完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
` 请先在https://github.com/tjCFeng/GoRK3288下载 GoRK3288 开源库。 WatchDog在做服务器程序时很有用处,服务器在运行过程中,一旦发生死机、程序异常等情况,造成系统运行紊乱,可以通过WatchDog来自动控制整个系统重新启动,可以最大限度地减少人员维护的工作量。 WatchDog也叫看门狗,它其实就是一个定时器,每隔一段时间检测一个标志位是否被程序赋值,即所谓的喂狗。 如果在某次检测中发现这个标志位没有被人为干预,那么意味着应用程序或系统不能正常运行了,那么它会强制系统重新启动。把应用程序制作成为自启或服务程序时,系统在重新启动后将自动运行这些程序,很大程度上可以恢复正常的工作。 经过前面几节的介绍,Go语言常用的语法已经都展示出来了,没有什么其他太多的花样了,所以这一节的内容将会更加简单。WatchDog的示例程序如下: 因为系统中只有一个WatchDog,所以照样是个单例。这段代码为了有别于上一节,特意加了一个判断是否调用成功的语句,一般使用中可以不需要判断,直接使用。 在调用了获得单例的函数后可以得到WatchDog的实例,首先需要先给它一个喂狗的间隔时间,通过FeedSecond来设置。默认的是3秒喂一次狗,当然这个时间可以改变,如示例中改为了10秒。不过这个时间间隔一定不要超过WatchDog的检测时间,否则直接重启了,起不到作用。 Start后WatchDog开始工作,Start同样是个协程,可以在工作后执行其他的代码而不阻塞在这里。示例中没有其他的代码,所以用了个Sleep等待一分钟,来演示效果。 这里需要注意一下的是Stop。这里有点奇怪,当我Start后,无论怎样的Stop,这个WatchDog始终不能停止工作,检查寄存器会发现控制启停的那一位不会变化,设置不成功。这个问题同样需要请教Firefly的高手,是不是我哪里操作有不对的地方。 好了,就是这些了,最后还是总结一下WDT类的方法: IWDT:获得WatchDog的实例 FreeWDT:释放WatchDog FeedSecond:设置喂狗的间隔时间(不设置的话默认是3秒) Start:启动WatchDog Stop:停止WatchDog(暂时不起作用) GoRK3288库请在https://github.com/tjCFeng/GoRK3288下载。 ` |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
1058 浏览 0 评论
【KV260视觉入门套件试用体验】四、KV260 视觉入门套件和固件更新
1637 浏览 0 评论
【KV260视觉入门套件试用体验】Vitis AI Library体验之OCR识别
1229 浏览 0 评论
【KV260视觉入门套件试用体验】Vitis AI 通过迁移学习训练自定义模型
1751 浏览 0 评论
【KV260视觉入门套件试用体验】KV260系列之Petalinux镜像+Resnet 50探索
1394 浏览 0 评论
【AMD KV260视觉入门开发套件试用】4、简单几步体验ubuntu 20.04.3 LTS运行人员检测应用
1667浏览 1评论
3107浏览 1评论
【KV260视觉入门套件试用体验】老刘记事儿KV260初体验之Micro-SD选型提速研究(三)
910浏览 1评论
【KV260视觉入门套件试用体验】KV260部署yolov3实现车辆和行人检测
2592浏览 1评论
【KV260视觉入门套件试用体验】基于KV260的人脸识别的实现与展示
908浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-7 17:59 , Processed in 0.354676 second(s), Total 38, Slave 32 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号