use*_*285 5 java concurrency rule-engine drools rete
我已经阅读了很多关于JBoss Drools的文档但是找不到关于是否所有规则同时执行的肯定答案(当然它们是同时被触发的).更具体地,对于单个输入和1000个规则的规则集,在每个规则中执行"何时"条件和"然后"条件,逐个顺序执行,或者同时并行执行.
一方面,当选择节点被折叠时,rete算法意味着并行性.然而,节点优化后评估顺序?beta内存和连接节点看起来应该同时执行,但它们是什么?
此外,Drools文档提到"顺序模式",默认情况下这是关闭的.什么是开启,并行模式?并且有一个maxThreads选项暗示线程.
另一方面,我被告知代码不使用线程,因此同时进行评估,但大部分顺序执行.
有没有人见过任何证明这种情况的文件?
谢谢!
小智 10
标准rete算法中没有并行性的迹象.冲突集由匹配的规则产生,然后议程应用策略依次触发这些规则.
多年来,在匹配或发射阶段期间,已经进行了许多努力来平行rete的部分.
并行触发所有规则时的一个大问题是确定性执行.
我们目前正在探索Drools中并发和并行匹配的各种策略.我们也将探索并发规则触发,但我们需要找到更强大的方法让用户指出可以并行触发的内容以及不能触发的内容.这样用户就可以在需要的地方获得确定性执行.