Skip to content

Latest commit

 

History

History

faaqueue

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

FAA-Based Lock-Free Queue

Необходимо доработать реализую FAAQueue так, чтобы она стала безопасной для использования из множества потоков одновременно. Смотрите соответствующую лекцию.

Сборка и тестирование

Для тестирования используйте команду mvn test. При этом автоматически будут запущены следующие тесты:

  • FunctionalTest.java проверяет базовую корректность множества.
  • LinearizabilityTest.java проверяет реализацию множества на корректность в многопоточной среде.

Обратите внимание, что тесты не покрывают все возможные ошибки синхронизации, поэтому прохождение тестов не означает корректность реализации.

Ограничения

  • Все атомарные операции должны выполняться при помощи примитивов из библиотеки kotlinx.atomicfu.
  • Использования любых примитивов из пакета java.util.concurrent.*, synchronized методов и блоков запрещены.
  • Разрешается редактирование только файла MSQueue.java.