В этом задании вам необходимо реализовать алгоритм очереди, построенного на списке сегментов,
где в каждом сегменте хранится массив с элементами очереди. Основная синхронизация внутри сегмента
выполняется при помощи операции Fetch-And-Add
(см. getAndIncrement()
на соответствующих примитивах),
в то время как сегменты образуют односвязные список по подобию очереди Майкла-Скотта.
Все подробности -- в соответствующей лекции.
В файле src/FAAQueue.kt
уже содержится однопоточная версия, вам нужно лишь
доработать её до многопоточной. Реализация должна быть lock-free.
Полезные статьи:
Для проверки вашего решения запустите из корня репозитория:
./gradlew build
на Linux или MacOSgradlew build
на Windows