ParallelFramework
A framework for parallel operations with complex dependencies 具有复杂依赖关系的并行操作框架
原理说明
该系统适用于接口IO交互较多并且接口相互关系复杂的系统。test里面有Demo,大致运行思路如下,将业务接口抽象成一个一个的处理器,一共有A、B、C、D、E、F、G 7个处理器,C依赖与AB,F依赖于C,E依赖于CD,G依赖于EF,执行关系如下图,尽可能的并行执行
A B D
\ / /
C /
| \ /
| \ /
F E
\ /
G
执行顺序:A、B、D最先执行,然后执行C,然后执行F、E,最后执行G。
C依赖于A和B 那么直接在E里面用@Dependency声明依赖关系即可:
@Dependency
AaaProc aaaProc;
@Dependency
BbbProc bbbProc;
框架会自动去处理执行顺序问题,确保C执行之前,A和B优先被执行。 处理器必须要用AutoCloseProcessEngine来执行,AutoCloseProcessEngine中会根据依赖关系自动去计算执行顺序。示例代码见com.parallel.framework.demo.TestMain
处理器只关注直接依赖,不关注间接依赖
E依赖C和D,同时C依赖A和B,对于E来说E并不知道A和B的存在。如果E的执行需要直接依赖B,那么直接在E里面用@Dependency声