...
- job1 -> job2 -> job3
In this case job1 holds the lock exclusive and job2 and job3 don't start until job1 is finished and release the lock. - job2 -> job3 -> job1
In this case job2 and job3 start both because they hold the lock non exclusive. job1 wants to use the lock exclusive so it doesn't start until job2 and job3 are finish and release the lock. - job2 -> job1 -> job3
Same behavior behaviour like case 2.