【发布时间】:2017-05-05 17:44:48
【问题描述】:
我正在阅读 simpy 源代码,发现由于某种原因,Request 是 Put 类的子类。是否有一个原因?我认为请求是从资源中获取某些内容的请求,而不是将某些内容放入其中的请求?
【问题讨论】:
标签: simpy
我正在阅读 simpy 源代码,发现由于某种原因,Request 是 Put 类的子类。是否有一个原因?我认为请求是从资源中获取某些内容的请求,而不是将某些内容放入其中的请求?
【问题讨论】:
标签: simpy
这背后的想法/抽象是,Resource 有一个“用户令牌的架子”。如果用户想要使用资源,他们会尝试将其令牌放入到资源中。他们使用资源,直到他们移除令牌。
如果货架已经满了,新用户必须等到他们可以将他们的代币放入其中。
【讨论】:
resource.get() 和resource.put() 的模拟,在这种情况下resource.get() 似乎允许我从资源中获取一些东西(它会创建一个Get() 事件?)我在此页面上的文档中发现最后一个示例似乎也表明 put() 将某些内容放入资源中,get() 从中获取了一些内容:simpy.readthedocs.io/en/latest/topical_guides/resources.html
Get() 事件时访问它并向它添加回调。当您执行resource.get() 时,它似乎只是将其添加到获取队列(或资源的放置队列?)而没有首先实现获取事件。您将如何向 get 事件添加回调?你必须通过说resource.put_queue[-1].callbacks.append(xxx)来访问它吗?不能先把get事件赋值给变量吗?