mirror of
https://gitee.com/jzsw-it/yexuejc-base.git
synced 2025-06-26 15:02:42 +08:00
1.2.0 增加异步线程处理工具
This commit is contained in:
parent
5ecb759db9
commit
e00164f85b
@ -16,7 +16,7 @@
|
||||
|
||||
|
||||
### 使用
|
||||
>yexuejc.base.version=1.1.9
|
||||
>yexuejc.base.version=1.2.0
|
||||
|
||||
pom.xml
|
||||
```
|
||||
|
12
UPDATE.md
12
UPDATE.md
@ -1,6 +1,18 @@
|
||||
yexuejc-base 更新记录
|
||||
------------------
|
||||
|
||||
#### version :1.2.0
|
||||
**time:2018-10-19 11:38:20** <br/>
|
||||
**branch:** master <br/>
|
||||
**update:** <br/>
|
||||
>1. 增加异步线程处理工具
|
||||
```$java
|
||||
SysUtil.threadRun(() -> {
|
||||
//异步执行代码块
|
||||
}
|
||||
```
|
||||
#
|
||||
|
||||
#### version :1.1.9
|
||||
**time:2018-9-23 11:57:36** <br/>
|
||||
**branch:** master <br/>
|
||||
|
9
pom.xml
9
pom.xml
@ -6,7 +6,7 @@
|
||||
|
||||
<groupId>com.yexuejc.base</groupId>
|
||||
<artifactId>yexuejc-base</artifactId>
|
||||
<version>1.1.9</version>
|
||||
<version>1.2.0</version>
|
||||
|
||||
<name>${project.artifactId}</name>
|
||||
|
||||
@ -21,6 +21,7 @@
|
||||
<commons-codec.version>1.10</commons-codec.version>
|
||||
<commons-io.version>2.6</commons-io.version>
|
||||
<bcprov-jdk15on.version>1.60</bcprov-jdk15on.version>
|
||||
<guava.version>20.0</guava.version>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
@ -55,6 +56,12 @@
|
||||
<artifactId>bcprov-jdk15on</artifactId>
|
||||
<version>${bcprov-jdk15on.version}</version>
|
||||
</dependency>
|
||||
<!--com.yexuejc.base.util.SysUtil.threadRun 异步处理代码-->
|
||||
<dependency>
|
||||
<groupId>com.google.guava</groupId>
|
||||
<artifactId>guava</artifactId>
|
||||
<version>${guava.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
|
||||
|
@ -1,6 +1,9 @@
|
||||
package com.yexuejc.base.util;
|
||||
|
||||
import com.google.common.util.concurrent.ThreadFactoryBuilder;
|
||||
|
||||
import java.net.URL;
|
||||
import java.util.concurrent.*;
|
||||
|
||||
/**
|
||||
* 系统工具类
|
||||
@ -35,4 +38,42 @@ public class SysUtil {
|
||||
return clazz.getClass().getResource(StrUtil.setStr(filePath, "/"));
|
||||
}
|
||||
|
||||
/**
|
||||
* 开启线程执行<p>
|
||||
* 异步处理代码
|
||||
*
|
||||
* @param threadRun
|
||||
*/
|
||||
public static void threadRun(ThreadRun threadRun) {
|
||||
threadRun(null, threadRun);
|
||||
}
|
||||
|
||||
/**
|
||||
* 异步处理代码
|
||||
*
|
||||
* @param poolName 开启线程名称
|
||||
* @param threadRun
|
||||
*/
|
||||
public static void threadRun(String poolName, ThreadRun threadRun) {
|
||||
if (StrUtil.isEmpty(poolName)) {
|
||||
poolName = "java-pool-%d";
|
||||
}
|
||||
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
|
||||
.setNameFormat(poolName).build();
|
||||
ExecutorService singleThreadPool = new ThreadPoolExecutor(1, 1,
|
||||
0L, TimeUnit.MILLISECONDS,
|
||||
new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy());
|
||||
|
||||
singleThreadPool.execute(() -> {
|
||||
threadRun.execute();
|
||||
});
|
||||
singleThreadPool.shutdown();
|
||||
}
|
||||
|
||||
/**
|
||||
* 异步执行代码块
|
||||
*/
|
||||
public interface ThreadRun {
|
||||
void execute();
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user