设为首页收藏本站

最大的系统仿真与系统优化公益交流社区

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2240|回复: 1

释放队列中的实体的另一种方法【使用search和remove的研究】

[复制链接]
发表于 2009-4-23 17:42:19 | 显示全部楼层 |阅读模式
这里面使用了search模块和remove模块,这两个模块能做的事情就像他们的名字一样:
search模块可以寻找到符合某种条件的第一个模块【注意是第一个】,然后把它的位置放到一个叫做J的全局变量里面去(也就是说你能够在模型的任意位置使用这个J变量,所以你要注意不要在自己的assign里面去改动这个)。
remove模块可以移除一个队列中的实体,按照你给定的某个rank(就是实体在队列中的位置)。
在这个例子里面,create1会每5分钟产生一个实体,然后实体会被随机的assign成3种类型,放到后面的hold模块中去。
create2会一个小时产生一个实体,当这个实体到达search模块,search回去搜索模块中定义的队列,检测队列中的实体是否符合下面的表达式,如果符合,则进入search的模块从上面的出口出去,否则从下面,符合的同时,search模块会自动的在全局变量J中写入实体在队列中所在的位置,然后实体从search的上面的出口进入remove模块,remove模块根据模块当中的队列和Rank移除实体,这个部分我填入了j,接着,实体回到search模块,继续搜知道搜索实体不到,然后从search的下面的出口出去,进入dispose模块。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评分

参与人数 1仿真币 +15 +1 收起 理由
苘苘 + 15 + 1

查看全部评分

发表于 2009-4-23 19:43:48 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|SimulWay 道于仿真   

GMT+8, 2024-5-20 06:44 , Processed in 0.014587 second(s), 17 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表