Как двое печатают в одной строке и не теряют ни одной буквы

Два курсора, одна строка и никакого сервера, который держит ручку. Один ползунок разбирает слияние по индексам и собирает его заново на адресах, которые живут между буквами.

Этап Печатают одновременно
  1. 0
  2. 1
  3. 2
  4. 3
  5. 4

Нажмите на участок схемы, чтобы открыть этап.

Что купила дробь

Индекс описывает место в списке, который другие меняют у вас под руками. Дробный идентификатор с номером узла описывает место, которое может создать только его автор, — поэтому любая реплика соберёт одно и то же множество правок в одну и ту же строку: без сети, в любом порядке и без сервера, решающего, кто прав.

Что внутри

  1. 1 Оба вставляют в один и тот же промежуток — Индекс 1 перестаёт означать то же самое, как только кто-то отредактировал строку раньше вас.
  2. 2 У буквы появляется адрес, а не индекс — Аня и Боб попадают в одну и ту же середину — именно ради этого случая в идентификаторе есть номер узла.
  3. 3 Пакеты приходят в разном порядке — Здесь нечего «сохранять»: порядков два, и оба настоящие.
  4. 4 Входящие сортируют, а не проигрывают — Две правки с равной позицией разводит номер узла — правило произвольное, но одинаковое на всех машинах.
  5. 5 Оба экрана приходят к одним и тем же пяти буквам — Сходимость — это согласие не о смысле, а о порядке.

Интерактивные статьи

Этап Печатают одновременно
  1. 0
  2. 1
  3. 2
  4. 3
  5. 4
1 / 5