Open Source & Linux Lab

It's better when it's simple

User Tools

Site Tools


courses:high_performance_computing:coroutines_map

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revisionBoth sides next revision
courses:high_performance_computing:coroutines_map [2020/06/02 22:55] odoronincourses:high_performance_computing:coroutines_map [2020/06/05 05:22] odoronin
Line 6: Line 6:
 public interface CoroutinesMap<K: Comparable<K>, V> { public interface CoroutinesMap<K: Comparable<K>, V> {
     /**     /**
-    * Добавить (key,value) к ассоциативному контейнеру+    * Добавить (key,value) к ассоциативному контейнеру. Если key уже существовал, то value для него нужн заменить на ановый
     *     *
-    * Алгоритм должен быть как минимум lock-free+    * Алгоритм должен быть как минимум lock-free.
     *     *
     * @param key ключ     * @param key ключ
Line 54: Line 54:
 </code> </code>
  
-В работе можно использовать только JDK 11 и язык программирования Kotlin. Имя класса реализации CoroutinesMapImpl. В работе нужно доработать lock-free-set из прошлой работы до map и использовать как вложенное поле в CoroutinesMapImpl. Если ваш lock-free-set был написан на java, то можно его импортировать как java файл и доработать до map тоже на языке java, но реализацию CoroutinesMapImpl нужно уже писать на Kotlin.   В конструкторе должно передаваться число потоков в которых будут исполняться запросы для доступа к ассоциативному контейнеру. Сама работа должна выполняться в Exectuors.fixedThreadPool. Все реализованные функции должны быть асинхронными. +В работе можно использовать только JDK 11 и язык программирования Kotlin. Имя класса реализации CoroutinesMapImpl. В работе нужно доработать lock-free-set из прошлой работы до map и использовать как вложенное поле в CoroutinesMapImpl. Если ваш lock-free-set был написан на java, то можно его импортировать как java файл и доработать до map тоже на языке java, но реализацию CoroutinesMapImpl нужно уже писать на Kotlin.   В конструкторе должно передаваться число потоков в которых будут исполняться запросы для доступа к ассоциативному контейнеру. Сама работа должна выполняться в Exectuors.fixedThreadPool. Все реализованные функции должны быть асинхронными. 
 + 
 +  * В работе должны быть тесты только на работу с корутинами 
 +  * Запрещено использовать asCoroutineDispatcher 
 +  * Задачи нужно отправлять через submit в Exectuors.fixedThreadPool, а полученную Future завернуть в корутину
  
 При использовании async действия должны выполняться асинхронно При использовании async действия должны выполняться асинхронно
courses/high_performance_computing/coroutines_map.txt · Last modified: 2020/06/08 00:58 by odoronin