2011-01-15 7 views
1

によって保持されている:リリースリソースは、あるSimpyに別のプロセス

yield request, self, r #request done in process a 

はどのようにして、プロセスbからリソースを解放することができますか?

yield release, a, r #release done in b (being a an instance of class a), doesn't work 

私も試してみた:

r.activeQ.remove(a) 

そして、それは実際にアクティブキューから削除し、しかし、それはyieldを行う際に行われたすべての暗黙の手順を実行しないであろうし、それがあることが判明します無意味な一種。

できますか?はいの場合、どうですか?

答えて

1

私の問題はプロセスbは実際にはアクティブではなかったため、yieldコールは失敗します。私が思いついた

回避策

activate(a, a.function()) #called from process b 

どこ

class a(Process): 
    def function(self): 
     yield release, self, r 
     yield passivate, self 

が、これは同じ問題を抱えてそこに誰を助けることを願いました。

関連する問題