Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/kozjulia/executor-service
- Owner: kozjulia
- Created: 2024-10-26T23:20:11.000Z (21 days ago)
- Default Branch: master
- Last Pushed: 2024-10-26T23:21:54.000Z (21 days ago)
- Last Synced: 2024-10-27T00:26:17.529Z (21 days ago)
- Topics: gradle, java
- Language: Java
- Homepage:
- Size: 46.9 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Собственный пул потоков
_______
Приложение **умеет** делать следующее:
В качестве аргументов конструктора пулу передается его емкость (количество рабочих потоков).
Как только пул создан, он сразу инициализирует и запускает потоки.
Внутри пула очередь задач на исполнение организуется через LinkedList.
При выполнении у пула потоков метода execute(Runnable), указанная задача должна попасть в очередь исполнения,
и как только появится свободный поток – должна быть выполнена.
Также необходимо реализовать метод shutdown(), после выполнения которого новые задачи больше не принимаются пулом
(при попытке добавить задачу можно бросать IllegalStateException),
и все потоки для которых больше нет задач завершают свою работу.
Дополнительно можно добавить метод awaitTermination() без таймаута,
работающий аналогично стандартным пулам потоков-------
Приложение написано на **Java**, использует **Gradle**.