2024-09-29 07:20:33 发布
网友
我有一个FilterStore,在模拟过程中有一个队列过滤器存储。获取在某些时候。现在我有两个问题:
有没有办法看到队列中的实际元素,而不仅仅是对象编号?与FilterStore.get_队列我得到这个输出: [FilterStoreGet()对象位于0x221a47c6080,FilterStoreGet()对象位于0x221a47c6eb8]。但我想要一份有实际姓名的名单,例如[1,2,3]。
有没有办法操纵队列?我知道队列中的元素正在用FIFO处理,但我想用后进先出或SIRO。
yield
让我们创建3个理发师:
barberNames = ['Baber A', 'Baber B', 'Baber C'] barberList = [simpy.Resource(env, capacity=1) for i in range(3)] barberDict = dict(zip(barberNames , barberList))
现在,创建一个过滤器存储到理发店:
如果我们理发店的一位客户不需要特定的理发师,我们可以从创建的理发店中挑选一位理发师:
clientBarber = yield barbeariaStore.get()
如果您打印clientBarber,您将看到他的名字(如barberNames)
clientBarber
假设他想要“理发师A”:
现在,首选理发店“理发师A”。在
我在另一个论坛上回答了我的问题。我也会把它贴在这里,因为我相信其他人最终也会有同样的问题。在
所以不可能操纵FilterStore.get_队列直接地,但是通过编写Store的子类,您将得到一个行为不同的队列(例如LIFO)。在
class PrependList(list): def append(self, item): self.insert(0, item) class LCFSStore(Store): put = BoundClass(StorePut) get = BoundClass(FilterStoreGet) GetQueue = PrependList
yield
)时,FilterStore返回该元素。此外,还可以使用dict来命名元素。在让我们创建3个理发师:
现在,创建一个过滤器存储到理发店:
^{pr2}$如果我们理发店的一位客户不需要特定的理发师,我们可以从创建的理发店中挑选一位理发师:
如果您打印
clientBarber
,您将看到他的名字(如barberNames)假设他想要“理发师A”:
^{4}$现在,首选理发店“理发师A”。在
我在另一个论坛上回答了我的问题。我也会把它贴在这里,因为我相信其他人最终也会有同样的问题。在
所以不可能操纵FilterStore.get_队列直接地,但是通过编写Store的子类,您将得到一个行为不同的队列(例如LIFO)。在
相关问题 更多 >
编程相关推荐