courses:high_performance_computing:lock_free
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | Next revisionBoth sides next revision | ||
courses:high_performance_computing:lock_free [2018/01/05 18:49] – kel | courses:high_performance_computing:lock_free [2018/10/28 19:10] – kel | ||
---|---|---|---|
Line 4: | Line 4: | ||
<code java> | <code java> | ||
/** | /** | ||
- | * Lock-Free | + | * Lock-Free очередь |
- | * @param <T> Тип | + | * @param <T> Тип |
*/ | */ | ||
- | public interface | + | public interface |
- | /** | + | |
- | * Добавить ключ к множеству | + | |
- | * | + | |
- | * Алгоритм должен быть как минимум lock-free | + | |
- | * | + | |
- | * @param value значение ключа | + | |
- | * @return false если value уже существует в множестве, | + | |
- | */ | + | |
- | boolean add(T value); | + | |
- | + | ||
- | /** | + | |
- | * Удалить ключ из множества | + | |
- | * | + | |
- | * Алгоритм должен быть как минимум lock-free | + | |
- | * | + | |
- | * @param value значение ключа | + | |
- | * @return false если ключ не был найден, | + | |
- | */ | + | |
- | boolean remove(T value); | + | |
- | + | ||
- | /** | + | |
- | * Проверка наличия ключа в множестве | + | |
- | * | + | |
- | * Алгоритм должен быть как минимум lock-free | + | |
- | * | + | |
- | * @param value значение ключа | + | |
- | * @return true если элемент содержится в множестве, | + | |
- | */ | + | |
- | boolean contains(T value); | + | |
/** | /** | ||
- | * Проверка | + | * Проверка очереди |
* | * | ||
- | | + | |
* | * | ||
- | * @return true если | + | * @return true если очередь |
*/ | */ | ||
boolean isEmpty(); | boolean isEmpty(); | ||
Line 49: | Line 20: | ||
</ | </ | ||
- | Дополнительные условности: | + | //Дополнительные условности: |
- | - Имя класса реализации - //LockFreeSetImpl// | + | - Имя класса реализации - //LockFreePriorityQueue// |
- Класс должен иметь конструктор без параметров | - Класс должен иметь конструктор без параметров | ||
+ | - Pull Request должен содержать в части тестирования проходящие: | ||
+ | * Нагрузочные тесты на основе [[http:// | ||
+ | * Тесты корректности на основе [[https:// | ||
+ | - В реализации не предполагается увидеть стандартные контейнеры из java.util.concurrent | ||
+ | - Не обязательно учитывать " |
courses/high_performance_computing/lock_free.txt · Last modified: 2023/12/17 14:11 by odoronin