如何动态使用产量而不影响整个环境

时间:2019-10-14 08:34:02

标签: python schedule simpy

我是python的新手,我想详细询问有关simpy环境的信息。因此,我们这样说,我有 2辆车,每辆车必须在不同的时间执行相同的功能,但是问题是,当我使用 yield env.timeout(something) (它会更改整个环境时间),但实际上我想单独进行。例如,如果汽车A t1 的时间从点1 移动,并且在时间t2 以及之后的时间做一些工作 car 2 正在移动并且在 t3 t4 做相同的工作,但是我想这样做,比如说 car A 正在从时间t1 的点1开始移动,并且在时间t2 做一些工作,而我要移动汽车2 时间t1.5 ,甚至汽车1 也在时间t1.5 行驶。他们两个都不应该处于依赖状态。 如何同步呢? 如果有人有经验,请帮助。 谢谢

1 个答案:

答案 0 :(得分:1)

您可以将Car A和Car B定义为两个不同的环境过程。请勿将CarA和CarB置于相同的功能

# helper function to find elements  
def find_sub_idx(test_list, repl_list, start = 0): 
    length = len(repl_list) 
    for idx in range(start, len(test_list)): 
        if test_list[idx : idx + length] == repl_list: 
            return idx, idx + length 

# helper function to perform final task 
def replace_sub(test_list, repl_list, new_list): 
    length = len(new_list) 
    idx = 0
    for start, end in iter(lambda: find_sub_idx(test_list, repl_list, idx), None): 
        test_list[start : end] = new_list 
        idx = start + length