温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

EA画UML时序图中如何实现同步/异步

发布时间:2021-12-20 14:27:47 来源:亿速云 阅读:4024 作者:小新 栏目:大数据

这篇文章主要介绍EA画UML时序图中如何实现同步/异步,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

消息是从一个对象的生命线指向另一个对象的生命线的实线箭头。

EA画UML时序图中如何实现同步/异步

听起来好像很简单,但如果打开了消息的属性对话框,就会知道根本就不是那么回事,对话框的内容很多,我们首先关注下图红圈中的内容。

EA画UML时序图中如何实现同步/异步

同步调用

Synch项目选中【Synchronous】以后,Kind项目就固定为【Call】,这时消息就被指定为同步调用方式。具体看下面的例子:

EA画UML时序图中如何实现同步/异步

同步调用消息表示为封闭填充实线箭头,它的含义为SynchronousClient调用SynchronousServer的sendMessage方法,sendMessage调用内部处理以后,将结果返回给SynchronousClient。同步调用说起来高大上,实际就是最常见的函数调用。

上图虚线分叉箭头表示返回值,它的设定方法很简单,只要选中消息属性对话框篮圈中的【Is Ret...】项目即可。

异步调用

Synch项目选中【Asynchronous】,Kind项目选中【Call】以后,被选中的消息就被指定为异步调用方式。具体看下面的例子:

EA画UML时序图中如何实现同步/异步


异步调用消息表示为分叉实线箭头,它的含义是AsynchronousClient调用AsynchronousServer的postMessage方法时,不等待对应处理结束就直接返回,而对应处理由另外的控制流启动,任务完成后再将结果以异步方式通知给AsynchronousClient。异步调用的执行说明虽然是连续的,但那只是语义上的连续。

异步信号

Synch项目选中【Asynchronous】,Kind项目选中【Signal】以后,被选中

的消息就被指定为异步信号方式。具体看下面的例子:

EA画UML时序图中如何实现同步/异步

异步信号消息和异步调用消息一样,表示为分叉实线箭头,它表明:上图中SignalActivation并不是SignalServer的方法,SignalClient在SignalActivation中做的就是激活信号,并不会关注有谁在等待信号,也不会关注处理是否结束。SignalServer等待信号被激活后执行相应的处理,但并不知道是由谁来激活的。生命线上的执行说明虽然是连续的,但那只是语义上的连续。消息的指向也是语义上的指向。从类参照的观点来看,双方都不需要意识对方的存在。

当SignalServer的处理结束后,往往是激活另外一个信号来报告处理结束,此处省略。信号的实现可能是Event,也可能是Mutex或Semaphore等。

以上是“EA画UML时序图中如何实现同步/异步”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI