Intel® Cilk™ Plus is a deprecated feature. Use OpenMP* or Intel® Threading Building Blocks instead. For more information see Migrate Your Application to use OpenMP* or Intel® TBB Instead of Intel® Cilk™ Plus.

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

The following lock terms and facts are useful:

  • The following terms are interchangeable: "acquiring", "entering", or "locking" a lock (or "mutex").

  • A strand (or thread) that acquires a lock is said to "own" the lock.

  • Only the owning strand can "release", "leave", or "unlock" the lock.

  • Only one strand can own a lock at a time.

  • tbb::mutex is implemented using underlying OS mutex operations.

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.

Para obtener información más completa sobre las optimizaciones del compilador, consulte nuestro Aviso de optimización.