Intel® C++ Compiler 16.0 User and Reference Guide

Considerations for Using Locks

You can use various synchronization mechanisms in the hardware or operating system.

The following lock terms and facts are useful:

Lock contention can create performance problems in parallel programs. Additionally, while locks can resolve data races, programs using locks are often non-deterministic. Avoiding locks whenever possible is recommended

These problems (and others) are described in detail in the following sections.