sakuuj / clv-task-9-concurrency

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Task 9 concurrency

Клиент использует fixed thread pool для асинхронной отправки запросов на сервер. Запросы отправляются через метод сервера processRequest(IntWrapper request). Future-s, возвращаемые методом, кладутся в список, который затем делится на непересекающиеся интервалы между всеми потоками ExecutorService, и затем происходит параллельное извлечение результата.

Метод клиента sendDataToServer() блокирующий. Внутри него создается барьер с помощью CountDownLatch, который пропустит поток, запустивший метод, когда все потоки из ExecutorService, обработают свою отведенную часть из списка Future-s полученных при передаче объекта this класса Client в ExecutorService.

About


Languages

Language:Java 100.0%