异步执行,一个包中的函数结束,但是不影响其开启的协成运行,可以实现么:
var (
UserActionChans chan *models.UserActionInfo = make(chan *models.UserActionInfo, 10000)
)
func init() {
go api.TimeTicker()
for i := 0; i < 10; i++ {
go api.ReadUserActionChans(UserActionChans)
}
}
func HandleUserCountAction(funcName string) {
log.Println("rcv data funcName:", funcName)
var userActionInfo models.UserActionInfo
userActionInfo.FuncName = funcName
UserActionChans <- &userActionInfo
}
协程一旦开启,除非该协程里有 var exit chan bool 类似这样的开关,这个协程已经和该包无关了,不管包结束还是怎样,都不影响协程的寿命
#2