I think i might have solved the problem.
I used the parallelGateway to split into 2 work items in the bpmn2, and then in each of the work item's handler, while running the execute method, I created a separate thread for the specific code to run.
Hi there, great that you find the way to solve it.
Remember that in BPMN you are modeling Business processes situations and not how to execute java code. There is notion of multi threading in business processes. In real life when two task are executed at the same time (two persons working at the same time) doesn't matter if they start working sequentialy with difference of milliseconds.