To say that the synchronization design slows down the execution, it is like a parachute slows down the operation of the paratrooper. Going without will be faster, but that's not entirely accurate. Synchronization serves the purpose.
To speed up execution, just do the right synchronization.
For example, using the Producer / Consumer design pattern can help you reduce the number of synchronization constructs needed in your code.
source share