add comment

This commit is contained in:
Looly
2020-07-23 10:38:46 +08:00
parent 1738fb2a4d
commit 1e22cce3a3

View File

@@ -19,21 +19,33 @@ import java.util.concurrent.TimeUnit;
public class ThreadUtil {
/**
* 新建一个线程池
* 新建一个线程池,默认的策略如下:
* <pre>
* 1. 初始线程数为corePoolSize指定的大小
* 2. 没有最大线程数限制
* 3. 默认使用LinkedBlockingQueue默认队列大小为1024
* 4. 当运行线程大于corePoolSize放入队列队列满后抛出异常
* </pre>
*
* @param threadSize 同时执行的线程数大小
* @param corePoolSize 同时执行的线程数大小
* @return ExecutorService
*/
public static ExecutorService newExecutor(int threadSize) {
public static ExecutorService newExecutor(int corePoolSize) {
ExecutorBuilder builder = ExecutorBuilder.create();
if (threadSize > 0) {
builder.setCorePoolSize(threadSize);
if (corePoolSize > 0) {
builder.setCorePoolSize(corePoolSize);
}
return builder.build();
}
/**
* 获得一个新的线程池
* 获得一个新的线程池,默认的策略如下:
* <pre>
* 1. 初始线程数为 0
* 2. 最大线程数为Integer.MAX_VALUE
* 3. 使用SynchronousQueue
* 4. 任务直接提交给线程而不保持它们
* </pre>
*
* @return ExecutorService
*/
@@ -42,7 +54,13 @@ public class ThreadUtil {
}
/**
* 获得一个新的线程池,只有单个线程
* 获得一个新的线程池,只有单个线程,策略如下:
* <pre>
* 1. 初始线程数为 1
* 2. 最大线程数为 1
* 3. 默认使用LinkedBlockingQueue默认队列大小为1024
* 4. 同时只允许一个线程工作剩余放入队列等待等待数超过1024报错
* </pre>
*
* @return ExecutorService
*/
@@ -56,14 +74,17 @@ public class ThreadUtil {
/**
* 获得一个新的线程池<br>
* 如果maximumPoolSize = corePoolSize在没有新任务加入的情况下多出的线程将最多保留60s
* 如果maximumPoolSize &gt;= corePoolSize在没有新任务加入的情况下多出的线程将最多保留60s
*
* @param corePoolSize 初始线程池大小
* @param maximumPoolSize 最大线程池大小
* @return {@link ThreadPoolExecutor}
*/
public static ThreadPoolExecutor newExecutor(int corePoolSize, int maximumPoolSize) {
return ExecutorBuilder.create().setCorePoolSize(corePoolSize).setMaxPoolSize(maximumPoolSize).build();
return ExecutorBuilder.create()
.setCorePoolSize(corePoolSize)
.setMaxPoolSize(maximumPoolSize)
.build();
}
/**