将以一个精武团这个游戏来做例子。
游戏者需要开房,那么这个房子就这个人使用,当这个人还在这个房间的时候就不能释放这个房间,否则这个游戏就有个BUG,同样的道理,这个房子可以被多个人引用。
那什么时候释放这个房子就是个关键;当这个房子无人使用的时候就是释放它的时候,所以当一个人引用的时候,就给房子的对象的计数器加一,两个人的时候就加二;每当一个人离开时,都要将房子对象的计数器减一,那么当房子中没有人的时候,再release就可以释放这个对象了。
代码有时间再补上吧。
如有错误,欢迎指出。
将以一个精武团这个游戏来做例子。
游戏者需要开房,那么这个房子就这个人使用,当这个人还在这个房间的时候就不能释放这个房间,否则这个游戏就有个BUG,同样的道理,这个房子可以被多个人引用。
那什么时候释放这个房子就是个关键;当这个房子无人使用的时候就是释放它的时候,所以当一个人引用的时候,就给房子的对象的计数器加一,两个人的时候就加二;每当一个人离开时,都要将房子对象的计数器减一,那么当房子中没有人的时候,再release就可以释放这个对象了。
代码有时间再补上吧。
如有错误,欢迎指出。
转载于:https://my.oschina.net/HYLApple/blog/649051