189 8069 5689

EA画UML时序图中如何实现并行和临界区

这篇文章将为大家详细讲解有关EA画UML时序图中如何实现并行和临界区,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

创新互联主营吴堡网站建设的网络公司,主营网站建设方案,成都App制作,吴堡h5成都微信小程序搭建,吴堡网站营销推广欢迎吴堡等地区企业咨询

并行(parallel)

定义

并行是表明多重交互的复合片段,其行为是并发执行的。

并行结构有两个或更多的操作域,每个操作域中的消息按顺序执行,但并行操作域之间的消息可以按照任何次序执行。

示例

EA画UML时序图中如何实现并行和临界区

上图中Actor1,Actor2,Actor3分别位于各自的操作域中,各自独立地和HttpServer进行交互。

临界区(critical region)

定义

临界区表示受保护的处理区域,区域中的处理不可以和其他并行区域中的处理交错执行。

示例

这里用两个任务之间转送数据的处理为例说明。先看图。

EA画UML时序图中如何实现并行和临界区

::ControlTask和::UserInterface生命线的方框两侧都多了两条竖线,这表明,这两个类都是主动类,拥有自己的上下文。DataTransmitter的职责就是在将数据从::ControlTask传送到::UserInterface,步骤如下:

  1. ::ControlTask调用DataTransmitter的push方法,推送数据。

  2. DataTransmitter调用push方法将数据推送给DataList。DataList的push方法处于临界区中,不会被其他任务打断。

  3. ::ControlTask调用Notify方法向::UserInterface发出数据传送完毕的通知。注意:此处为异步调用。

  4. ::UserInterface收到通知以后,调用DataTransmitter的pull方法,取得数据。这个动作会执行多次直到数据取完为止。

  5. DataTransmitter的pull方法会调用DataList的pull方法,这个pull方法也是处于临界区中,不会被其他任务打断。

关于“EA画UML时序图中如何实现并行和临界区”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。


网站名称:EA画UML时序图中如何实现并行和临界区
本文地址:http://jkwzsj.com/article/ihocco.html

其他资讯