优化备份对象的回收
This commit is contained in:
parent
1b54ab5f43
commit
5a04b66a1c
@ -215,6 +215,7 @@ func HandleClientReq(args []interface{}) {
|
||||
}
|
||||
p.(*Player).Recover(backup) //还原Player的数据
|
||||
}
|
||||
backup.Reclaim() // 回收备份对象
|
||||
p.(*Player).lock.Unlock() //解锁
|
||||
}()
|
||||
p.(*Player).args = make(map[string]interface{})
|
||||
|
||||
@ -38,6 +38,7 @@ func (p *Player) HandleMsg(m *msg.Msg) {
|
||||
log.Error("Handle msg uid : %d, msg : %v, fatal : %s", p.M_DwUin, m, r)
|
||||
p.Recover(backup) //还原Player的数据
|
||||
}
|
||||
backup.Reclaim() // 回收备份对象
|
||||
p.lock.Unlock() //解锁
|
||||
}()
|
||||
p.args = make(map[string]interface{})
|
||||
|
||||
@ -93,6 +93,11 @@ func (pd *PlayerBackUp) Reset() {
|
||||
pd.PlayMod = nil
|
||||
}
|
||||
|
||||
func (pd *PlayerBackUp) Reclaim() {
|
||||
pd.Reset()
|
||||
playerDataPool.Put(pd)
|
||||
}
|
||||
|
||||
func (p *Player) Stop() {
|
||||
p.wg.Wait()
|
||||
p.signalDispatcherStop()
|
||||
@ -223,8 +228,6 @@ func (p *Player) Recover(backUp *PlayerBackUp) {
|
||||
// p.GetPlayerBaseMod().Data = backUp.Data
|
||||
p.PlayMod.Recover(backUp)
|
||||
p.Msg = make([]PlayerMsg, 0)
|
||||
backUp.Reset()
|
||||
playerDataPool.Put(backUp)
|
||||
}
|
||||
|
||||
func (p *Player) InitPlayer(UserName string) error {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user