Необходимо доработать реализую FAAQueue так, чтобы она стала безопасной для использования из множества потоков одновременно.
Смотрите соответствующую лекцию.
Для тестирования используйте команду mvn test. При этом автоматически будут запущены следующие тесты:
FunctionalTest.javaпроверяет базовую корректность множества.LinearizabilityTest.javaпроверяет реализацию множества на корректность в многопоточной среде.
Обратите внимание, что тесты не покрывают все возможные ошибки синхронизации, поэтому прохождение тестов не означает корректность реализации.
- Все атомарные операции должны выполняться при помощи примитивов из библиотеки
kotlinx.atomicfu. - Использования любых примитивов из пакета
java.util.concurrent.*,synchronizedметодов и блоков запрещены. - Разрешается редактирование только файла
MSQueue.java.