//TODO 稍后附上核心API的类图结构
JBPM中包含两种多线程的概念:技术多线程和逻辑多线程。
技术多线程就是我们在常见编程语言中见到的多线程概念;而逻辑多线程是指业务流程达到并行网关,分解两个并行执行的流程。
JBPM中使用单线程来实现逻辑多线程,原因是多线程需要与同一流程的其他线程通信获取状态信息,这将带来复杂性。虽然多线程看似可以提升性能,但额外的逻辑需求使得它并不明显,而且还会带来额外的竞争甚至死锁。
通常情况下,JBPM会顺序地执行流程。例如,当引擎遇到一个script task ,他会同步的执行脚本,直到完成才继续往下执行流程。同样地,当引擎遇到并行网关,他会顺序的触发每一条分支。