Какой лучший аналог? Я не нашел разумного решения для такой простой функции. Варианты, о которых я знаю:
1) MPEnterCriticalRegion - это, к сожалению, крайне неэффективно, вероятно, потому, что, несмотря на свое имя, он входит в режим ядра, поэтому для повторения блокировок требуется слишком много времени...
2) OSSpinLockLock - непригодный, т.к. видимо не рекурсивный. Если бы это было рекурсивно, это был бы правильный эквивалент.
3) pthread_mutex_lock - не пробовал, но на многое не рассчитываю, т.к. скорее всего будет просто эмулировать через критическую область или другой системный ресурс.