Bloqueo de bloqueos versus bloqueo sin bloqueo

Estoy pensando aquí: si tiene 2 subprocesos que ejecutan operaciones FAST que necesitan sincronizarse, ¿no es un enfoque sin bloqueo más rápido / mejor que un enfoque de bloqueo / cambio de contexto?

Por no bloqueo me refiero a algo como:

while (true) {if (checkAndGetTheLock ()) break; }

Lo único en lo que puedo pensar es en el hambre (con la CPU quemada) si tienes demasiados hilos girando alrededor de la cerradura.

¿Cómo balanceo un enfoque versus el otro?

Respuestas a la pregunta(4)

Su respuesta a la pregunta