【问题标题】:Multiple Conditional Events多个条件事件
【发布时间】:2015-03-19 14:57:35
【问题描述】:

我有很多资源。传入进程将需要一组资源。例如,假设我在集合中有资源 A、B、C 和 D,并且出现了一个请求资源 A、B 和 D 的进程;我希望在 A、B 和 D 可用之前停止该过程。

这当然是一个简单的例子。我想知道是否可以生成 Resource.request() 事件列表,然后使用 yield 和 '&' 或其他方法等到所有事件都被授予(即所有事件都被触发)。

这就是我正在做的......

req1 = A.request()
req2 = B.request()
req3 = D.request()
yield req1 & req2 & req3

这就是我想做的……

list_of_resources_needed = [A,B,D]
req_list = []
for r in list_of_resources_needed:
    req_list.append(r.request())
yield * All events in req_list *

【问题讨论】:

    标签: conditional-statements simpy


    【解决方案1】:

    您可以使用AllOfAnyOf 事件,Environment 为其提供了快捷方式:http://simpy.readthedocs.org/en/latest/api_reference/simpy.core.html#simpy.core.Environment.all_of

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-05
      • 1970-01-01
      • 1970-01-01
      • 2012-07-15
      • 2016-11-24
      • 1970-01-01
      • 1970-01-01
      • 2020-06-29
      相关资源
      最近更新 更多