您好,登录后才能下订单哦!
这篇文章将为大家详细讲解有关EA画UML时序图中如何实现并行和临界区,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
并行(parallel)
定义
并行是表明多重交互的复合片段,其行为是并发执行的。
并行结构有两个或更多的操作域,每个操作域中的消息按顺序执行,但并行操作域之间的消息可以按照任何次序执行。
示例
上图中Actor1,Actor2,Actor3分别位于各自的操作域中,各自独立地和HttpServer进行交互。
临界区(critical region)
定义
临界区表示受保护的处理区域,区域中的处理不可以和其他并行区域中的处理交错执行。
示例
这里用两个任务之间转送数据的处理为例说明。先看图。
::ControlTask和::UserInterface生命线的方框两侧都多了两条竖线,这表明,这两个类都是主动类,拥有自己的上下文。DataTransmitter的职责就是在将数据从::ControlTask传送到::UserInterface,步骤如下:
::ControlTask调用DataTransmitter的push方法,推送数据。
DataTransmitter调用push方法将数据推送给DataList。DataList的push方法处于临界区中,不会被其他任务打断。
::ControlTask调用Notify方法向::UserInterface发出数据传送完毕的通知。注意:此处为异步调用。
::UserInterface收到通知以后,调用DataTransmitter的pull方法,取得数据。这个动作会执行多次直到数据取完为止。
DataTransmitter的pull方法会调用DataList的pull方法,这个pull方法也是处于临界区中,不会被其他任务打断。
关于“EA画UML时序图中如何实现并行和临界区”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。