| | |
| | |
|
| | | def acquire(self, obj_class, *args, **kwargs):
|
| | | """获取对象并记录其所属池"""
|
| | | return obj_class(*args, **kwargs) # 关闭对象池
|
| | | if obj_class not in self._pools:
|
| | | # 如果池不存在,自动创建大小为0的无限制池
|
| | | self.create_pool(obj_class, 0)
|
| | |
| | |
|
| | | def release(self, obj):
|
| | | """释放对象并递归释放其嵌套对象池对象"""
|
| | | return # 释放对象效率有点低,暂时关闭对象池,后续优化
|
| | | obj_id = id(obj)
|
| | |
|
| | | # 检查是否正在递归释放中
|
| | |
| | | PyGameData.g_objPoolMgr = poolMgr
|
| | | return poolMgr
|
| | |
|
| | | def OnMinute():
|
| | | def OnMinute(curTime):
|
| | | """每分钟执行,输出对象池状态"""
|
| | | GetPoolMgr().pool_status()
|
| | | #if curTime.minute == 5: # 每小时的5分输出一次
|
| | | # GetPoolMgr().pool_status()
|
| | | return
|
| | |
|
| | | ## 使用示例
|