Tras toda la mañana programando, y desde la hora de comer hasta media tarde me he bloquedado pensando cómo implementar una cosa. Para el Proyecto, del que aún debo alguna entrada aquí, necesito distribuir unas instrucciones entre diversos servidores de cálculo, que pueden estar ocupados computando anteriores, así que tenía que buscar una forma eficiente de comunicarse mediante mensajes para saber cuales están libres para enviarles su parte del procesamiento.

Y no se me ocurría nada decente, he pensado tumbado en la cama (muchas veces me tumbo unos instantes a pensarlo todo detenidamente y me vienen las ideas), le he dado vueltas mientras cagaba, conducía, comía… Y nada.

Así que a eso de las seis y media me he ido a escalar con un amigo, que el deporte viene bien para despejarse. Y al volver tres horas después, en la ducha, al acordarme del duro trabajo que me esperaba ahora y darle vueltas de nuevo al problema, en seguida me ha venido la solución a la cabeza.

Lo enfocaba mal, porque quería hacerlo todo con el método desde el que se solicita enviar todas las tareas a los servidores de cálculo. En la solución que he tomado, lo único que hace es enviar a todos ellos un mensaje preguntando por su estado. Lo que voy a hacer es que el método que procesa la respuesta con el estado de cada servidor, sea el que les envíe las órdenes si están libres.

Una solución sencilla en la que no había caído hasta que no he tenido la mente clara, durante la ducha después del ejercicio.