Python单例模式实现
import settings import threading class TournamentRoomConfig(): """ 房间类 """ _instance_lock = threading.Lock() def __init__(self, room_id): # room_id为T0或T0_2020-07-11 self.room_config = settings.tournamen_dict["tournamentRoom"][room_id.split("_")[0]] # 房间配置信息 self.runTime = self.room_config.get("runTime", 0) # 房间持续时间 self.readyTime = self.room_config.get("readyTime", 0) # 房间准备时间 self.runTime = 10 self.readyTime = 5 self.userCount = self.room_config.get("userCount", 0) # 房间人数上限 self.poolforeach = self.room_config.get("poolForEach", 0) # 奖池滚动累加数值 self.prices = self.room_config.get("prices", []) # 奖励比例 self.BigWinUserCount = self.room_config.get("BigWinUserCount", 0) self.guaranteeReward = self.room_config.get("guaranteeReward", 0) # 保底奖励 self.minWinUserCount = self.room_config.get("minWinUserCount", 0) self.robotCount = self.room_config.get("robotCount", 0) # 机器人人数 self.robotBet = self.room_config.get("robotBet", 0) # 机器人平均bet self.traceLimit = self.room_config.get("traceLimit", 0) # 机器人追赶上限 self.type = self.room_config.get("type", "") self.tourRoomRunTime = self.room_config.get("tourRoomRunTime", 0) self.tierCount = self.room_config.get("tierCount", {}) # 各种机器人类型人数 self.roomType = self.room_config.get("roomType", "") # 房间类型 def __new__(cls, *args, **kwargs): if not hasattr(TournamentRoomConfig, "_instance"): with TournamentRoomConfig._instance_lock: if not hasattr(TournamentRoomConfig, "_instance"): TournamentRoomConfig._instance = object.__new__(cls) return TournamentRoomConfig._instance # s1 = TournamentRoomConfig("T0") # s2 = TournamentRoomConfig("T4") # # print(id(s1)) # print(id(s2))