解除阻止,并在最初阻止的情况下保留

问题描述 投票:0回答:1
我需要先将“保留”置于阻止状态。然后,当队列中有与座席相连的座席时,再解除阻止。

我尝试了两种方法:方法1:使用属性中的选择将其设置为初始阻止,然后在“操作”中编写:

if(queue.size() > 0 ) { hold.unblock(); }

但是它t work. I thought that the function can并没有改变选择。因此,我尝试不选择“初始阻止”并在操作中写:

hold.initiallyblocked = true; if(queue.size() > 0 ) { hold.unblock(); }

但是它也什么也没做,因此保留被阻止。

此外,我尝试使用“获取连接号”将变量的数量保存在队列中,然后使用if(getconnectionnubmer> 0)对其进行阻止。它没有用enter image description here

简短地说,我想告诉您:如果队列中有座席,请解除对保留的阻止。如果队列为空,则阻止保留。并且必须被初始阻止

java simulation anylogic
1个回答
0
投票
如果您的唯一目标是至少在代理填充队列时解除阻塞,则应将代码放入队列块的on enter ...显然,如果代理进入队列,则意味着该队列不为空:

hold.unblock();

并且如果队列为空,也可以在队列的出口处阻止保留:

if(self.size()==0) hold.block();

© www.soinside.com 2019 - 2024. All rights reserved.