经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » HTML/CSS » Markdown » 查看文章
markdown mermaid状态图
来源:cnblogs  作者:同学Zou  时间:2022/1/17 10:57:34  对本文有异议

状态图

状态图是一种用于计算机科学和相关领域描述系统行为的图。状态图要求描述的系统由有限数量的状态组成。

语法:

  1. stateDiagram-v2
  2. [*] --> Still
  3. Still --> [*]
  4. Still --> Moving:push
  5. Moving --> Still:摩擦
  6. Moving --> Crash:速度过快
  7. Crash --> [*]
stateDiagram-v2 [*] --> Still Still --> [*] Still --> Moving:push Moving --> Still:摩擦 Moving --> Crash:速度过快 Crash --> [*]

在状态图中,展示了系统有那些状态,以及状态之间相互转换的。 上面的示例图显示了 Still、MovingCrash 三种状态。 可以将Still状态 更改为 Moving。 也可以将Moving状态更改回StillCrash。 但无法从Still过度到Crash 状态。

  1. 状态

可以通过多种方式声明一个状态。 最简单的方法是状态定义是通过 id 。

  1. stateDiagram-v2
  2. id
stateDiagram-v2 id

定义状态的另一种方法是,状态id后接冒号和描述。

  1. stateDiagram-v2
  2. S:开始
  3. R:运行
  4. W:等待
  5. S-->R:start()
  6. R-->W:wait()
  7. W-->R:notify(),nofityAll()
stateDiagram-v2 S:开始 R:运行 W:等待 S-->R:start() R-->W:wait() W-->R:notify(),nofityAll()

id:des :状态id:状态详细

如果状态比较长,并且要多次引用,可以用此种方式,可以减少敲打键盘的的次数。

  1. 过渡:状态转换

当一种状态进入另一种状态时,通过过渡转换。 这使用文本箭头-->表示。

  1. stateDiagram-v2
  2. 状态1 --> 状态2
stateDiagram-v2 状态1 --> 状态2

可以向过渡中添加文本。描述它代表什么。

  1. stateDiagram-v2
  2. new-->Runable:start()
stateDiagram-v2 new-->Runable:start()
  1. 开始和结束

有两种特殊状态指示图,开始和停止。 可以用 [*] 语法表示开始或停止状态。

  1. stateDiagram-v2
  2. [*] --> 运行
  3. s1 --> [*]
stateDiagram-v2 s1:运行 [*] --> s1 s1 --> [*]

例子:

Java线程状态图:

  1. stateDiagram-v2
  2. New-->Runnable:start()
  3. Runnable-->Waiting:wait()
  4. Waiting-->Runnable:notify(),notifyAll()
  5. TimedWaiting-->Runnable:sleep()结束
  6. Runnable-->TimedWaiting:sleep()开始
  7. Blocked-->Runnable:synchronized
  8. Runnable-->Blocked:synchronized
  9. Runnable-->Terminated:run()结束
stateDiagram-v2 New-->Runnable:start() Runnable-->Waiting:wait() Waiting-->Runnable:notify(),notifyAll() TimedWaiting-->Runnable:sleep()结束 Runnable-->TimedWaiting:sleep()开始 Blocked-->Runnable:synchronized Runnable-->Blocked:synchronized Runnable-->Terminated:run()结束

原文链接:http://www.cnblogs.com/sdsxblpjava/p/15791270.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号