import java.util.concurrent.TimeUnit;
import cn.hutool.core.thread.ExecutorBuilder;
import cn.hutool.core.thread.ThreadFactoryBuilder;
//構造多執行緒,可修改執行緒數
ExecutorService executorService = ExecutorBuilder.create()
.setCorePoolSize(5) // 初始執行緒數
.setMaxPoolSize(10) //最大執行緒數
.setThreadFactory(ThreadFactoryBuilder.create().setNamePrefix("dapData_").build()) // 設定執行緒名稱字首
.setWorkQueue(new LinkedBlockingQueue<>(100)) // 有界等待佇列,最大等待數是100
.build();
// 使用多執行緒
// 方法1
for(){
executorService.execute(new Runnable() {
@Override
public void run(){
//執行操作
}
});
}
// 方法2
for(){
executorService.submit(() -> {
//執行操作
}
}
// 方法3
//如果不方便使用for迴圈,直接多寫幾個executorService.execute()也是一樣的。
//關閉多執行緒
executorService.shutdown();
try {
boolean success = executorService.awaitTermination(10, TimeUnit.MINUTES);
if (!success) {
log.error("執行緒池關閉失敗");
}
} catch (InterruptedException e) {
log.error("執行緒池關閉失敗",e);
}
java使用多執行緒
相關文章
- Java多執行緒-執行緒池的使用Java執行緒
- java多執行緒之執行緒的基本使用Java執行緒
- Java多執行緒——執行緒Java執行緒
- Java多執行緒-執行緒中止Java執行緒
- Java多執行緒——執行緒池Java執行緒
- Java多執行緒的使用(二)Java執行緒
- 【Java多執行緒】輕鬆搞定Java多執行緒(二)Java執行緒
- java——多執行緒Java執行緒
- java 多執行緒Java執行緒
- 【Java】多執行緒Java執行緒
- JAVA 多執行緒 ??Java執行緒
- java多執行緒Java執行緒
- Java - 多執行緒Java執行緒
- java 多執行緒守護執行緒Java執行緒
- Java多執行緒-執行緒通訊Java執行緒
- Java多執行緒-執行緒狀態Java執行緒
- Java多執行緒(2)執行緒鎖Java執行緒
- java多執行緒9:執行緒池Java執行緒
- Java多執行緒之執行緒中止Java執行緒
- 【java多執行緒】(二)執行緒停止Java執行緒
- Java多執行緒——守護執行緒Java執行緒
- Java多執行緒16:執行緒組Java執行緒
- Java多執行緒18:執行緒池Java執行緒
- Java多執行緒學習(一)Java多執行緒入門Java執行緒
- Java多執行緒(一)多執行緒入門篇Java執行緒
- Java多執行緒——synchronized的使用示例Java執行緒synchronized
- java 多執行緒使用PipedOutStream和PipedInputStreamJava執行緒
- Java多執行緒Thread類使用Java執行緒thread
- 【Java多執行緒】執行緒安全的集合Java執行緒
- 【Java】【多執行緒】執行緒池簡述Java執行緒
- java多執行緒系列之執行緒池Java執行緒
- 多執行緒使用執行緒
- java 多執行緒 –同步Java執行緒
- java多執行緒原理Java執行緒
- java 多執行緒-3Java執行緒
- java 多執行緒-2Java執行緒
- Java多執行緒——SemaphoreJava執行緒
- java 多執行緒 --同步Java執行緒