so two things to mention:
1) it's taking 2 seconds to execute your processes from the start to end, not just to starting them
2) You have several approaches to start processes concurrently.
a) You can have a thread pool and start one process per thread in different sessions, that shares the same kbase
b) you can implement an async mechanism that only start the process in the main thread and then you have a pool of threads in the back that continues them .
If you can take a look at the Runtime Manager in jbpm (6.0) latest source code you can use it for doing that kind of things in multiple threads. Look at this test for example: