Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python SimPy使用逻辑在两个或多个资源中选择一个_Python_Python 3.x_Simpy - Fatal编程技术网

Python SimPy使用逻辑在两个或多个资源中选择一个

Python SimPy使用逻辑在两个或多个资源中选择一个,python,python-3.x,simpy,Python,Python 3.x,Simpy,如何为流程提供从两个或多个不同资源中选择的选项 我需要这样做,因为我将维护活动模拟为流程,资源表示可用于执行维护的共享设施。某些维护活动只能使用一种类型的设施,但其他维护活动更灵活,可以选择使用多种类型的设施 因此,简单地说,一个进程只能选择一种唯一的资源类型,而其他进程可以从多种唯一的资源类型中进行选择 对我试图实现的目标的粗略解释: resource_A_req = resource_A.request() resource_B_req = resource_B.request() yi

如何为流程提供从两个或多个不同资源中选择的选项

我需要这样做,因为我将维护活动模拟为流程,资源表示可用于执行维护的共享设施。某些维护活动只能使用一种类型的设施,但其他维护活动更灵活,可以选择使用多种类型的设施

因此,简单地说,一个进程只能选择一种唯一的资源类型,而其他进程可以从多种唯一的资源类型中进行选择

对我试图实现的目标的粗略解释:

resource_A_req = resource_A.request()

resource_B_req = resource_B.request()

yield resource_A_req or resource_B_req

学习如何使用FilterStore可以回答我的问题吗?

产生资源A_需求|资源B_需求
可能适合你。然后,您需要检查哪个请求成功,并对另一个请求调用
cancel()
,以避免出现问题(在文档中搜索“条件事件”)


FilterStore
可能也能工作。请参阅以获取简短示例。

谢谢Stefan。我已经成功地尝试过FilterStore!我也会尝试你建议的第一种方法。