Cuando nadie cede: el bloqueo mutuo
La lección pasada, arreglar lo mismo de a uno era seguro. Mientras tienes un recurso solo tú lo tocas y los demás esperan. Ese método seguro en realidad esconde un lado oscuro. ¿Qué pasa si dos tienen cada uno una cosa y empiezan a esperar lo que tiene el otro? Ninguno suelta lo suyo, y ambos esperan al otro. Nadie puede dar un solo paso. Veamos este estado donde todos se congelan.
Toma, y luego espera
La lección pasada aprendimos un buen hábito. Para arreglar algo primero lo tomas, y los demás esperan hasta que terminas. Como hacer fila para un baño de uno. Así desapareció el accidente de dos chocando y arruinándolo.
Ahora supón que el trabajo crece a dos partes. Hay dos recursos. Llámalos herramienta 1 y herramienta 2. Para terminar el trabajo necesitas ambas herramientas. A toma la herramienta 1 primero y espera la 2. B toma la herramienta 2 primero y espera la 1. Cada uno tomó solo una cosa por la regla, y aun así ninguno puede hacerse con la otra.
Guarda lo que tienes, espera lo que te falta. Este tomar y esperar es donde empieza todo.
Deja que A y B tomen cada uno una. A tiene la herramienta 1 y espera la 2 (rojo), mientras B tiene la herramienta 2 y espera la 1. Ninguno suelta lo suyo y ambos esperan lo que falta, así que ninguno avanza.
¿No es extraño? Ninguno hizo nada malo. Cada uno solo tomó una cosa por turno. Exactamente el método que aprendimos seguro la lección pasada. Y aun así ambos se congelaron.
El problema no es tomar en sí, sino la forma de tener algo mientras esperas al otro. Para ver esta forma más claro ayuda imaginar una escena. A continuación, cambiemos a una conocida.
Dos frente a frente en un puente angosto
Hay un puente angosto que solo una persona puede cruzar. En un extremo una persona sube, y en el otro extremo otra sube al mismo tiempo. Caminan hacia el medio y se topan de frente.
Para avanzar cada uno necesita que el otro se haga a un lado. Pero ninguno cede el cuadro donde está parado. Yo llegué primero, yo tengo más prisa. Como nadie retrocede, ambos quedan congelados en el medio para siempre.
Aquí cada cuadro del puente es la herramienta 1 y la 2 de antes. Las personas son A y B. Cada uno tiene su lugar mientras espera el lugar del otro, exactamente la forma que vimos antes.
Haz avanzar a las dos personas un cuadro a la vez hacia el medio. Cuando se encuentran en el centro del puente, ninguno cede, así que ambos se detienen y no pueden pasar (rojo).
En el puente dos se enfrentaron. Por eso se detuvieron. Pero los atascados no tienen que ser solo dos. Si tres, cuatro o más se forman no en una fila sino en un círculo, cada uno esperando al siguiente, el mismo congelamiento ocurre a mayor escala.
A continuación, sentemos a la gente en círculo. Hagamos con nuestras propias manos el momento en que el círculo se cierra.
Cuando el círculo se cierra, todos se detienen
Varias personas se sientan en círculo en una mesa. Entre cada par de personas hay un palillo. Para comer necesitas ambos palillos, pero todos por igual deciden tomar el de la izquierda primero y esperar el de la derecha.
Si solo uno o dos lo hacen, está bien. Alguien consigue ambos, come y los suelta al terminar. Pero si todos toman el de la izquierda al mismo tiempo, el palillo derecho de cada uno está en la mano de su vecino. Todos esperan al vecino. La espera da toda la vuelta y regresa a uno mismo.
Cuando las flechas de la espera forman un círculo cerrado así, nadie en ese círculo puede moverse jamás. Los dos del puente angosto han crecido a muchos, en ronda alrededor de una mesa.
Haz que las personas sentadas tomen su palillo izquierdo uno por uno. En el instante en que el último lo toma y el círculo se cierra, el derecho de cada uno está en la mano de un vecino, así que todos se congelan (rojo).
En ese último paso donde el círculo se cerró, una mesa que giraba bien se congeló de golpe. Lo aterrador es que ninguna persona en particular hizo nada especialmente mal. Todos simplemente, de forma razonable, tomaron el de la izquierda primero, y todo se detuvo.
Entonces, ¿cómo descongelamos esta mesa? Por suerte la manera es sorprendentemente simple. A continuación, veamos dos caminos para romper el círculo.
La solución: ceder, o fijar un orden
El primer camino es ceder. Una persona del círculo deja por un momento lo que tenía. Entonces el vecino que la esperaba reúne ambas piezas, come y las suelta al terminar. Un lugar se libera, así el siguiente se libera, y el atasco se despeja por turnos como fichas de dominó. En cuanto aparece un solo corte en el círculo, ya no es un círculo cerrado.
El segundo camino es más astuto. Impedir que el círculo se cierre de entrada. Dale a todos la misma regla: quienquiera que seas, toma siempre primero el de número menor. Entonces quien no consigue la herramienta 1 nunca toma tampoco la 2. Como todos toman en el mismo orden, nunca pasa que dos se crucen y se enfrenten. Un círculo simplemente no puede formarse.
Primero cierra el círculo para que todos se congelen, luego haz que una persona ceda. Cuando suelta lo que tiene, el círculo se rompe, y empezando por el vecino todos se liberan por turno y se mueven de nuevo (verde).
Ceder es el camino para deshacer un círculo que ya se detuvo, y fijar un orden es el camino para que la detención nunca surja. Uno es primeros auxilios tras el accidente, el otro es prevención antes de él.
Ambos se reducen a lo mismo: evitar que el círculo de espera se cierre. Si aunque sea un lugar se rompe, el congelamiento vuelve a ser flujo.
Ponlo en una sola página
Solo recuerda cuatro cosas.
Primero, cuando cada uno tiene una cosa y espera la del otro, empieza el tener y esperar. Segundo, como los dos del puente angosto, si se enfrentan y no ceden, ambos se detienen.
Tercero, cuando esa detención da toda la vuelta y el círculo se cierra, todos en el círculo se detienen. Eso es el bloqueo mutuo. Cuarto, si alguien suelta lo que tiene y cede, o si todos quedan fijados para tomar en el mismo orden, el círculo se rompe o nunca se forma, y todo puede fluir de nuevo.
Toca los pasos en orden para seguir una vuelta completa. Del tener-y-esperar al enfrentamiento, del círculo cerrado a romperlo cediendo u ordenando. La vida de un bloqueo mutuo en un panel.
La lección pasada aprendimos que ir de a uno es seguro, y hoy vimos que ese mismo tomar por turno puede en cambio detener a todos. La misma herramienta depende de cómo la uses. La fila segura y un bloqueo congelado para siempre están a un pelo. Si todos toman en el mismo orden, y si alguien sabe ceder, es lo que decide ese pelo.