2017-11-19 3 views

Antwort

0

Was SimPy bietet ist resource.request(). Hier ist ein kleines Beispiel für den ersten Fall.

resource_free = yield my_resource.request() 
if my_resource_request() in resource_free: 
    TODO: P1.run() 

Was wir hier tun, ist, dass wir die Ressource anfordern. Wenn die Ressource nachgibt, ist es frei zu verwenden, und wir nehmen es in resource_free.

request() docs

0

Sie müssen sich fragen, was mit Ihren Ressourcen vor sich geht.

Lassen Sie uns Ihre Ressourcen wie definieren:

# Number of users currently using the resources. 
num_users_R1 = R1.count() 
num_users_R2 = R2.count() 

Jetzt wissen Sie, diese können Sie die Ihre verwenden, wenn Aussagen zu sagen:

R1 = simpy.Resource(env, capacity = 1) 
R2 = simpy.Resource(env, capacity = 1) 

Sie Fragen über die Verfügbarkeit dieser Ressourcen wie so fragen sim welche Prozesse folgen.

# if both are free do process 1 
if num_users_R2 + num_users_R2 == 2: 
    process_1() 

# otherwise do process 2 
else: 
    process_2() 

Sie können mehr über Ressourcen Befehle in der offiziellen Dokumentation lesen: http://simpy.readthedocs.io/en/latest/api_reference/simpy.resources.html

Verwandte Themen