Запрограмуйте дві руки, які вічно зациклюються й працюють узгоджено, збираючи записи даних — а потім намагайтеся зробити це за меншу кількість циклів.
Створіть списки інструкцій для двох рук (A і B). Кожен цикл обидві руки виконують одну інструкцію, а потім цикл. Read затягує значення подачі в слоти стенда, Grab бере одне в кіготь, Combine додає його до запису, а Output випускає готовий запис. Зустрічайте специфікацію, а потім оптимізуйте.
Reactor Lines — це головоломка оптимізації паралельного програмування про координацію двох одночасних циклів без конфлікту.
Два маніпулятори, кожен з яких виконує одну інструкцію за цикл, а потім повторює, — це форма машини з обміном повідомленнями і та сама територія, яку досліджує TIS-100: паралельність без спільної пам’яті.
Зчитування переносять значення в комірки верстата, тож маніпулятори мусять узгоджувати таймінг, не маючи змоги нічого одне в одного спитати.
Досягнення цієї узгодженості побудовою, а не домовленістю, і робить паралельне програмування складним. Обидва маніпулятори правильні окремо; помилка, коли вона з’являється, полягає в тому, що вони правильні в той самий момент.
Reactor Lines — це головоломка оптимізації паралельного програмування про координацію двох одночасних циклів. Це оригінальна безкоштовна браузерна гра, створена власноруч для PlayPendium.