/
githubmirror
/
java-design-patterns
Обзор
Документация
Войти
/
githubmirror
/
java-design-patterns
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
thread-pool-executor/etc/thread-pool-executor.urm.puml
66 строк
1 KB
yoobin_mion
feat: Implement Thread-Pool Executor pattern (#3271)
15 май 2025, 21:53
Не верифицирован
15 май 2025, 21:53
8529017
Код
Авторство
О чём код?
@startuml interface Runnable { +run(): void } interface Callable<T> { +call(): T } interface ExecutorService { +submit(task: Runnable): Future<?> +submit(task: Callable<T>): Future<T> +shutdown(): void +awaitTermination(timeout: long, unit: TimeUnit): boolean } class ThreadPoolExecutor { -corePoolSize: int -maximumPoolSize: int -keepAliveTime: long -workQueue: BlockingQueue<Runnable> +execute(task: Runnable): void +submit(task: Callable<T>): Future<T> } class ThreadPoolManager { -executorService: ExecutorService +ThreadPoolManager(numThreads: int) +submitTask(task: Runnable): void +submitCallable(task: Callable<T>): Future<T> +shutdown(): void +awaitTermination(timeout: long, unit: TimeUnit): boolean } class Task { -id: int -name: String -processingTime: long +Task(id: int, name: String, processingTime: long) +run(): void +call(): TaskResult } class TaskResult { -taskId: int -taskName: String -executionTime: long +TaskResult(taskId: int, taskName: String, executionTime: long) } class App { +main(args: String[]): void -executeRunnableTasks(poolManager: ThreadPoolManager): void -executeCallableTasks(poolManager: ThreadPoolManager): void } ExecutorService <|-- ThreadPoolExecutor : implements Task ..|> Runnable : implements Task ..|> Callable : implements Task --> TaskResult : produces ThreadPoolManager --> ExecutorService : wraps App --> ThreadPoolManager : uses App --> Task : creates @enduml