Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kozjulia/executor-service

Пример executor service
https://github.com/kozjulia/executor-service

gradle java

Last synced: 15 days ago
JSON representation

Пример executor service

Awesome Lists containing this project

README

        

## Собственный пул потоков

_______

Приложение **умеет** делать следующее:
В качестве аргументов конструктора пулу передается его емкость (количество рабочих потоков).
Как только пул создан, он сразу инициализирует и запускает потоки.
Внутри пула очередь задач на исполнение организуется через LinkedList.
При выполнении у пула потоков метода execute(Runnable), указанная задача должна попасть в очередь исполнения,
и как только появится свободный поток – должна быть выполнена.
Также необходимо реализовать метод shutdown(), после выполнения которого новые задачи больше не принимаются пулом
(при попытке добавить задачу можно бросать IllegalStateException),
и все потоки для которых больше нет задач завершают свою работу.
Дополнительно можно добавить метод awaitTermination() без таймаута,
работающий аналогично стандартным пулам потоков

-------

Приложение написано на **Java**, использует **Gradle**.