Нет такой вещи как бесплатный замок.Все многопоточные алгоритмы используют синхронизацию.Вы можете получить алгоритмы без блокировки, которые не используют явные блокировки, но полагаются на атомарные операции и другие подобные «не-блокировки», но реальность такова, что вы должны быть очень хорошим программистом - и знать свою целевую платформу и детали реализациицелевой процессор - для того, чтобы написать такой алгоритм.Единственные алгоритмы без блокировки, которые я знаю, которые действительно работают, - это 360, написанные инженерами Microsoft, которые должны были получить проектные документы о том, как ЦП в 360 реализовал блокировку, прежде чем они смогли добиться успеха.
Алгоритм без блокировки C ++ будет применен к слишком большому количеству процессоров, чтобы заставить такую вещь работать - вы не могли бы просто написать это поверх boost :: thread.