# PriorityThreadPoolExecutor **Repository Path**: wlfcolin_admin/PriorityThreadPoolExecutor ## Basic Information - **Project Name**: PriorityThreadPoolExecutor - **Description**: 具备指定和动态调整任务优先级线程池PriorityThreadPoolExecutor,配合PriorityBlockingQueue完美使用 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2020-01-20 - **Last Updated**: 2023-06-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # PriorityThreadPoolExecutor [English](https://gitee.com/wlfcolin_admin/PriorityThreadPoolExecutor/blob/master/README.en.md) #### 介绍 具备指定和动态调整任务优先级的线程池PriorityThreadPoolExecutor 以下几个ThreadPoolExecutor的方法和PriorityThreadPoolExecutor新扩展的方法均支持指定优先级和动态调整优先级: ``` java // ThreadPoolExecutor的方法 // 传递子类PriorityRunnable,如果要使用Runnable又需要支持优先级可用下面的扩展方法 void execute(Runnable command) Future submit(Runnable task) Future submit(Runnable task, T result) // 传递子类PriorityCallable,如果要使用Callable又需要支持优先级可用下面的扩展方法 Future submit(Callable task) // PriorityThreadPoolExecutor新扩展的方法 PriorityRunnable execute(Runnable command, int priority) PriorityFuture submit(Runnable task, int priority) PriorityFuture submit(Runnable task, T result, int priority) PriorityFuture submit(Callable task, int priority) ``` 已经添加到线程池后动态调整优先级操作方法(动态调整不会影响PriorityThreadPoolExecutor.corePoolSize内正在执行的任务): ``` java // PriorityRunnable调整优先级 PriorityRunnable.priority(int priority) // PriorityCallable调整优先级 PriorityCallable.priority(int priority) // PriorityFuture调整优先级 PriorityFuture.priority(int priority) ``` 详细使用见:[PriorityThreadPoolExecutorTest.java](https://gitee.com/wlfcolin_admin/PriorityThreadPoolExecutor/blob/master/priority-thread-pool-executor/src/test/java/me/andy5/util/concurrent/test/PriorityThreadPoolExecutorTest.java)