用 golang 的一个定时任务的第三方包,每隔 5s 执行 foo 函数,如下:
func foo() { onlineRooms := getOnlineRooms()
for _, room := range onlineRooms {
go doSomeThing(room)
}
}这里取出所有在线的房间ID,然后启用 goroutine 执行 doSomeThing 函数,这个函数里有计算,从 Redis,MySQL 读写数据等操作,如果第一轮调用没执行完,就开始第二轮调用,就会有计算错误。
那么我想每次定时任务来的时候,判断这个函数有没有执行完,如果没有执行完就不重新调用,否则才调用,在 golang 中如何实现这个判断呢?
慕桂英546537
千巷猫影
杨__羊羊
四季花海
随时随地看视频慕课网APP
相关分类