Необходимость синхронизации параллельных вычислительных процессов возникает из-за совместного доступа к общим ресурсам. 13 Это может привести к несогласованности данных и нарушению их целостности. 13
Например, если два процесса — производители и потребители — используют общий буфер ограниченного размера, то без синхронизации есть риск столкнуться с такими проблемами, как переполнение буфера (если производитель попытается добавить данные, когда буфер заполнен, для новых данных не останется места) или недостаточный поток буфера (если потребитель пытается использовать данные, когда буфер пуст). 1
Также необходимость синхронизации возникает, когда несколько вычислительных процессов хотят пользоваться критическим ресурсом, который не допускает одновременного использования несколькими процессами. 2 В этом случае процессы должны синхронизировать свои действия таким образом, чтобы ресурс всегда находился в распоряжении не более чем одного из них. 2