EasyNVR优化多通道情况下程序关闭的速度

我们经常会对目前现有的视频平台做日常的功能测试和开发测试,每次在测试EasyNVR项目时需要频繁的开启和关闭。有时发现EasyNVR关闭很慢,要一分钟左右才能关闭成功,为了方便后期测试,我们决定优化这个地方。

为了找出原因,我们在关闭的地方添加了日志打印,经过查看日志后发现在关闭程序时会先关闭所有通道,当开启的通道数量多了以后就会出现关闭缓慢的情况:

而关闭通道的代码不是并发操作,通道只能一个一个关闭,而且也不能直接使用go启动协程关闭,因为后面的代码逻辑需要所有通道关闭完成后才能执行。

想要达到并发操作,并且所有操作完成后在执行下一步就可以使用WaiteGroup方法,所有通道在协程中同时关闭,在所有通道关闭完成后才会继续执行后面的代码。

修改完成后测试在启动多通道时关闭程序可以在几秒内完成,一定程度上节省了测试的时间。

EasyNVR平台经过我们不断改良,已经支持市面上大部分的RTSP/Onvif协议设备:IP Camera/NVR/DVR/编码器等,直播便捷稳定,是安防直播解决方案中一个不错的选择。目前EasyNVR所搭建的明厨亮灶、智慧校园等系统已经在很多项目中落地,如果大家有这方面的需求,欢迎联系我们获取方案。

 

posted on 2021-11-26 14:19  EasyNVR  阅读(10)  评论(0编辑  收藏  举报