name5566 / leaf

A game server framework in Go (golang)
Apache License 2.0
5.3k stars 1.32k forks source link

Skeleton.AfterFunc 里操作map,导致并发读写 fatal #140

Closed 15951836388 closed 5 years ago

15951836388 commented 5 years ago

报错 fatal error: concurrent map read and map write

是因为不能用不同的包里的 Skeleton,操作导致的?

因为不能循环引用 我现在是game里的Skeleton调用了别的包里的的逻辑(逻辑里包含自己包里的Skeleton)

这个我要怎么解决?

15951836388 commented 5 years ago

似乎要加锁吗?不太想加锁。 还是全部只用1个Skeleton(最低层的那个)?

name5566 commented 5 years ago

map 不能并发读写,你可以尝试使用 Leaf 自带的 map,或者修改你的代码避免并发读写 map。