2016-11-16 63 views
1

當SimPy進程已經運行時,有沒有方法可以將SimPy進程添加到SimPy環境?背景如下:Simpy:在運行時添加進程

我已經成功地實現了一個使用SimPy的交通系統的排隊網絡,其中汽車通過鏈路傳播。每輛車的出發地和目的地在「編譯」時間都是已知的,他們的出發時間也是如此。因此,模擬描述了它們如何在網絡中移動,傳播速度取決於當時的密度。如果鏈路上有很多汽車,它們的速度會降低,就像現實中那樣。如果一個鏈路上的車輛太多,他們將不能進入,直到另一輛車已經離開,等等。

我現在的問題是,我是否也可以在運行時提供流量需求?想象一下,當我的SimPy仿真已經運行時,有一個實時生成汽車的總體過程。我怎麼能這樣做?有沒有教程或例子可用?

任何幫助或評論是非常感謝。

回答

0
+0

嗨斯蒂芬,非常感謝您的答覆。我已經多次閱讀教程,包括示例。正如我寫的,我有一個全功能的代碼,在調用env.run()之前,通過使用env.process()將所有汽車添加到環境中。我上面的問題是,在env.run()被調用的時候,當一個進程根本不存在時會發生什麼?我可以稍後添加一個過程(例如,當汽車由外部模擬器創建時),並且會在剩餘的模擬中考慮嗎?我還沒有見過這樣的例子。再次感謝您的進一步評論。 – Unis

+0

我不知道你是否看到我的評論,因爲我忘了給你加標籤。如果您對此有任何進一步評論,請告訴我。提前致謝。 – Unis

+1

無論當前是否調用env.run(),您都可以隨時使用env.process()啓動新進程。 –