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?