Примитивы синхронизации - это простые программные механизмы, предоставляемые платформой (например, операционной системой) своим пользователям для поддержки синхронизации потоков или процессов.Они обычно создаются с использованием механизмов более низкого уровня (например, атомарные операции, барьеры памяти, спин-блокировки, переключение контекста и т. Д.).
Мьютекс, событие, условные переменные и семафоры - все это примитивы синхронизации.Так делятся и эксклюзивные замки.Монитор обычно считается инструментом синхронизации высокого уровня.Это объект, который гарантирует взаимное исключение для своих методов с использованием других примитивов синхронизации (обычно это эксклюзивные блокировки с условными переменными для поддержки ожидания и сигнализации).В некоторых случаях, когда монитор используется в качестве строительного блока, он также считается примитивом синхронизации.
Критический раздел не является примитивом синхронизации.Это часть пути выполнения, которая должна быть защищена от одновременного выполнения, чтобы поддерживать некоторые инварианты.Вам нужно использовать некоторые примитивы синхронизации для защиты критической секции.