基于newFixedThreadPool實(shí)現(xiàn)多線程案例
更新時間:2020年11月10日 09:51:45 作者:牛鼻子老趙
這篇文章主要介紹了基于newFixedThreadPool實(shí)現(xiàn)多線程案例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
1、異步提交,串行改為并行處理
package com.hao.thread;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
public class ThreadTest {
public static void main(String[] args) {
long start = System.currentTimeMillis();
System.out.println(action());
long end = System.currentTimeMillis();
System.out.println(end - start);
}
public static List<String> action() {
List<String> list = new ArrayList<String>();
ExecutorService pool = Executors.newFixedThreadPool(3);
Future<String> submit1 = pool.submit(() -> action1("action1"));
Future<String> submit2 = pool.submit(() -> action2("action2"));
Future<String> submit3 = pool.submit(() -> action3("action3"));
try {
list.add(submit1.get());
list.add(submit2.get());
list.add(submit3.get());
} catch (Exception e) {
e.printStackTrace();
} finally {
pool.shutdown();
}
return list;
}
private static String action1(String action1) {
sleep(5000);
return action1 + " # " + Thread.currentThread().getName();
}
private static String action2(String action2) {
sleep(5000);
return action2 + " # " + Thread.currentThread().getName();
}
private static String action3(String action3) {
sleep(5000);
return action3 + " # " + Thread.currentThread().getName();
}
private static void sleep(long millis) {
try {
Thread.sleep(millis);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
2、處理結(jié)果

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java生產(chǎn)者消費(fèi)者的三種實(shí)現(xiàn)方式
這篇文章主要介紹了Java生產(chǎn)者消費(fèi)者的三種實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-07-07
Mybatis + js 實(shí)現(xiàn)下拉列表二級聯(lián)動效果
這篇文章給大家介紹基于Mybatis + js 實(shí)現(xiàn)下拉列表二級聯(lián)動效果,實(shí)現(xiàn)代碼分為前端界面實(shí)現(xiàn)和后端處理方法,代碼簡單易懂,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2021-06-06
Java后綴數(shù)組之求sa數(shù)組的實(shí)例代碼
后綴數(shù)組就是一個字符串所有后綴大小排序后的一個集合,然后我們根據(jù)后綴數(shù)組的一些性質(zhì)就可以實(shí)現(xiàn)各種需求。這篇文章主要介紹了Java后綴數(shù)組-求sa數(shù)組,需要的朋友可以參考下2018-04-04
Java中的線程安全集合CopyOnWriteArrayList解析
這篇文章主要介紹了Java中的線程安全CopyOnWriteArrayList解析,CopyOnWriteArrayList是ArrayList的線程安全版本,從他的名字可以推測,CopyOnWriteArrayList是在有寫操作的時候會copy一份數(shù)據(jù),然后寫完再設(shè)置成新的數(shù)據(jù),需要的朋友可以參考下2023-12-12
JAVA 對數(shù)組進(jìn)行初始化填充的方法示例
這篇文章主要介紹了JAVA 對數(shù)組進(jìn)行初始化填充的方法示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09

