Programa dos brazos que giran en bucle sin parar y trabajan al unísono, montando registros de datos, y luego compite por hacerlo en menos ciclos.
Crea listas de instrucciones para dos brazos (A y B). En cada ciclo, ambos brazos ejecutan una instrucción y vuelven al principio del bucle. Leer introduce valores en las casillas del banco, Agarrar toma uno con la pinza, Combinar lo añade al registro y Sacar emite un registro terminado. Cumple con las especificaciones y luego optimiza.
Reactor Lines es un puzle de optimización de programación paralela sobre coordinar dos bucles simultáneos sin que choquen entre sí.
Dos brazos que ejecutan cada uno una instrucción por ciclo y luego vuelven a empezar es la forma de una máquina de paso de mensajes, y el mismo territorio que explora TIS-100: concurrencia sin memoria compartida.
Las lecturas llevan valores a las ranuras del banco, así que los brazos deben ponerse de acuerdo sobre la sincronización sin poder preguntarse nada.
Lograr ese acuerdo por construcción y no por negociación es lo que hace difícil la programación concurrente. Ambos brazos son correctos por separado; el error, cuando llega, es que son correctos en el mismo instante.
Reactor Lines es un puzle de optimización de programación paralela sobre coordinar dos bucles simultáneos. Es un juego original y gratuito para el navegador, creado en casa para PlayPendium.