全球FlexSim系统仿真中文论坛

搜索
查看: 3346|回复: 3
打印 上一主题 下一主题

sendmessage()和senddelayedmessage()

[复制链接]
跳转到指定楼层
1#
一骑绝尘 发表于 2014-11-27 10:43:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
以前误认为,sendmessage(current,current),和senddelayedmessage(current,0,current)的区别不大。其实和触发顺序有很大的关系. 以OnProcessFinish为例,如果是sendmessage(),则当触发OnProcessFinish时,OnMessage也同时触发。当如果是senddelayedmessage(),OnMessage要等到Send to Port 后的 possible delay 才触发

本帖子中包含更多资源

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

x

评分

参与人数 1威望 +20 收起 理由
慧娴亚伦 + 20 分析的非常好!

查看全部评分

2#
657776724 发表于 2015-11-7 20:17:08 | 只看该作者
我也测试了一下,发现加工结束触发中使用延迟消息的触发顺序是:加工结束-发送至端口-使用运输工具-消息触发。有人知道这个顺序有什么规律吗?
3#
慧娴亚伦 发表于 2015-11-8 09:38:36 | 只看该作者
我推测应该是事件的生成机制,应该是加工结束触发的那个瞬间,已经有发送至端口和使用运输工具这两个触发在事件队列里面进行排队了,因此新添加的消息触发会排在这两个之后。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|全球FlexSim系统仿真中文论坛 ( 京ICP备14043114号-2 )

GMT+8, 2025-6-30 01:42 , Processed in 0.069841 second(s), 15 queries .

Powered by Discuz! X3.3© 2001-2013 Comsenz Inc.

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