def __init__(self, name='', resource_cls=Resource, policy={}):
# sets resource pool policy overriding defaults
self.name=name
self.__resource_cls=resource_cls
self.__available_resources=list()
self.__awaiting=OrderedDict()
self.__reserved=OrderedDict()
self.__inuse_resources=list()
self.__id=self.__pool_id_sequence()
#self.mutex = threading.RLock()
#self.__ticket_sequence=Sequence("ResourcePool.%s" % (resource_cls.__name__, ))
if self.__allow_set_policy:
self.__policy=MergedChainedDict(policy, self.__policy)
else:
#self.__lock.release()
raise ResourcePoolError("ResourcePool already in use, cannot set_policy")
评论列表
文章目录