逻辑引擎算法
2023-10-18 21:09:45 0 举报
通过拖拽的逻辑图进行编程,通过执行逻辑图,实现程序逻辑
作者其他创作
大纲/内容
空
将流程入参初始化到begin节点
节点放到待执行队列队尾
不存在
流程执行时间超过60s
判断当前执行减点是否为end
按照组件返回参数设置环境变量
有
非空
获取待执行队列.get(0)且待执行队列.remove(0)
获取流程定义
判断下一步线条表达式是否成立,将成立的下一节点加入待执行队列队尾
无
执行组件
本次执行线程id在挂起队列是否存在
begin节点加入待执行队列
判断组件是否可执行依赖线条源节点已执行或线条为循环线
可执行
开始流程入参:flowKey+参数+threadId
结束
执行组件内容
组件入参:流程节点+环境变量+threadId
声明待执行队列已执行队列环境变量
根据环境变量替换入参的形式定义
是
获取挂起队列等待唤醒节点,按照出参定义,设置该节点环境变量,并放入已执行队列
否
返回end节点
不可执行
当前组件是否挂起等待(return)
加载当前线程id对应环境变量、待执行队列、已执行队列、挂起队列
唤醒挂起流程,找到最接近的存在threadId的父组件,获取threadId作为唤醒的线程id
跳出程序
有无待唤醒流程
存在
挂起当先线程,存储流程定义、环境变量、待执行队列、已执行队列,挂起队列
0 条评论
下一页
为你推荐
查看更多