markdown mermaid状态图
状态图
状态图是一种用于计算机科学和相关领域描述系统行为的图。状态图要求描述的系统由有限数量的状态组成。
语法:
stateDiagram-v2
[*] --> Still
Still --> [*]
Still --> Moving:push
Moving --> Still:摩擦
Moving --> Crash:速度过快
Crash --> [*]
[*] --> Still
Still --> [*]
Still --> Moving:push
Moving --> Still:摩擦
Moving --> Crash:速度过快
Crash --> [*]
在状态图中,展示了系统有那些状态,以及状态之间相互转换的。 上面的示例图显示了 Still、Moving
和 Crash
三种状态。 可以将Still
状态 更改为 Moving
。 也可以将Moving
状态更改回Still
或Crash
。 但无法从Still
过度到Crash
状态。
- 状态
可以通过多种方式声明一个状态。 最简单的方法是状态定义是通过 id 。
stateDiagram-v2
id
id
定义状态的另一种方法是,状态id后接冒号和描述。
stateDiagram-v2
S:开始
R:运行
W:等待
S-->R:start()
R-->W:wait()
W-->R:notify(),nofityAll()
S:开始
R:运行
W:等待
S-->R:start()
R-->W:wait()
W-->R:notify(),nofityAll()
id:des :状态id:状态详细
如果状态比较长,并且要多次引用,可以用此种方式,可以减少敲打键盘的的次数。
- 过渡:状态转换
当一种状态进入另一种状态时,通过过渡转换。 这使用文本箭头-->
表示。
stateDiagram-v2
状态1 --> 状态2
状态1 --> 状态2
可以向过渡中添加文本。描述它代表什么。
stateDiagram-v2
new-->Runable:start()
new-->Runable:start()
- 开始和结束
有两种特殊状态指示图,开始和停止。 可以用 [*]
语法表示开始或停止状态。
stateDiagram-v2
[*] --> 运行
s1 --> [*]
s1:运行
[*] --> s1
s1 --> [*]
例子:
Java线程状态图:
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()结束
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()结束
markdown mermaid状态图的更多相关文章
- Markdown Mermaid
Mermaid 是一个用于画流程图.状态图.时序图.甘特图的库,使用 JS 进行本地渲染,广泛集成于许多 Markdown 编辑器中. 之前用过 PlantUML,但是发现这个东西的实现原理是生成 U ...
- markdown mermaid序列图
序列图(时序图) 序列图是一种交互图,它显示了进程如何相互操作以及按什么顺序操作. sequenceDiagram participant l as 大灰狼 participant y as 小羊 l ...
- markdown mermaid流程图
流程图 所有流程图都由节点.几何图像.箭头或线条组成. mermaid代码定义了这些节点和边的制作和交互方式.可以有不同的箭头类型.多向箭头以及与子图的连接. 节点 节点 flowchart LR i ...
- 我画着图,FluentAPI 她自己就生成了
在 Newbe.ObjectVistor 0.3 版本中我们非常兴奋的引入了一个紧张刺激的新特性:使用状态图来生成任意给定的 FluentAPI 设计. 开篇摘要 在非常多优秀的框架中都存在一部分 F ...
- Markdown中使用mermaid画流程图
Markown语法简单,用来写文档是个不错的选择. 但是Markdown 语法并不直接支持画图,当然方法还是有的. 本人用的Markdown编辑器为vscode,在里面直接安装merdaid插件即可使 ...
- markdown绘图插件----mermaid简介
作者:黄永刚 mermaid简介 当撰写文档的时候,对于流程图的生成大多使用Visio等繁重的工具,没有一种轻便的工具能够画图从而简化文档的编写,就像markdown那样. mermaid解决这个痛点 ...
- Markdown教程<2> mermaid图形绘制(1)
Markdown教程<2> mermaid图形绘制(1) 博客园中的markdown编辑器同时支持mermaid图表引擎与tex公式引擎,可以使用mermaid直接画出流程图,时序图,甘特 ...
- 画图前端:mermaid。时序图/类图/甘特图/流程图/状态图/饼图。类似工具:Typora
文档 https://mermaidjs.github.io/#/ cdn https://www.bootcdn.cn/mermaid/ 在线编辑 https://mermaidjs.github. ...
- Markdown画图(mermaid)学习
简介 目前博客园支持mermaid的graph,subgraph,sequenceDiagram,gantt,classDiagram mermaid(美人鱼), 是一个类似markdown,用文本语 ...
随机推荐
- 微信小程序项目使用npm安装vant-weapp的正确步骤,简单易懂!!
微信小程序项目使用npm安装vant-weapp的正确步骤 1.在当前小程序项目目录npm init -y 构建npm项目 2.运行命令 npm install vant-weapp -S --pro ...
- Python pyecharts绘制仪表盘
一.仪表盘gauge.add方法简介 gauge.add()方法签名 add(name,attr,value, scale_range=none, angle_range=none,**kwargs) ...
- CF950A Left-handers, Right-handers and Ambidexters 题解
Content 有 \(l\) 个人是左撇子,有 \(r\) 个人是右撇子,另外有 \(a\) 个人既惯用左手又惯用右手.现在想组成一个队伍,要求队伍中惯用左手的人和惯用右手的人相等,试求出团队里面的 ...
- Linux中磁盘管理与三剑客之awk初识
昨日内容回顾 1.用两种方法实现 将文件中以 # 开头的行 把 # 去掉 sed -r 's/^ *#//g' /etc/fstab cat /etc/fstab | tr -d '^#' 2.将文件 ...
- 【LeetCode】1466. 重新规划路线 Reorder Routes to Make All Paths Lead to the City Zero (Python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 DFS BFS 日期 题目地址:https://lee ...
- 【LeetCode】124. Binary Tree Maximum Path Sum 解题报告 (C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 递归 日期 题目地址:https://leetcode ...
- 【LeetCode】406. Queue Reconstruction by Height 解题报告(Python & C++ & Java)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 日期 题目地址:https://leetcode.c ...
- 【LeetCode】638. Shopping Offers 解题报告(Python & C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 DFS 回溯法 日期 题目地址:https://le ...
- 警惕!PHP、Node、Ruby 和 Python 应用,漏洞还没结束!
12 月 10 日凌晨,Apache 开源项目 Log4j2 的远程代码执行漏洞细节被公开,作为当前全球使用最广泛的 java 日志框架之一.该漏洞影响着很多全球使用量前列的开源组件,如 Apache ...
- 【机器学*】k*邻算法-03
心得体会: 需要思考如何将现实对象转化为特征向量,设置特征向量时记住鸭子定律1 鸭子定律1 如果走路像鸭子.说话像鸭子.长得像鸭子.啄食也像鸭子,那它肯定就是一只鸭子 事物的外在特征就是事物本质的表现 ...