Intel® C++ Compiler 16.0 User and Reference Guide

Lock Contention

Parallel strands are not able to run in parallel if they concurrently attempt to access a shared lock. In some programs, locks can eliminate virtually all of the performance benefit of parallelism. In extreme cases, such programs can even run significantly slower than the corresponding single-processor serial program. Consider using a reducer if possible.

If you must use locks, consider observing these guidelines: