基于newFixedThreadPool實現(xiàn)多線程案例
更新時間:2020年11月10日 09:51:45 作者:牛鼻子老趙
這篇文章主要介紹了基于newFixedThreadPool實現(xiàn)多線程案例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
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)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
java商城項目實戰(zhàn)之購物車功能實現(xiàn)
這篇文章主要為大家詳細介紹了java商城項目實戰(zhàn)之購物車功能實現(xiàn),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-04-04java Socket實現(xiàn)網(wǎng)頁版在線聊天
這篇文章主要為大家詳細介紹了java Socket實現(xiàn)網(wǎng)頁版在線聊天具體代碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-05-05JAVA?兩個類同時實現(xiàn)同一個接口的方法(三種方法)
在Java中,兩個類同時實現(xiàn)同一個接口是非常常見的,接口定義了一組方法,實現(xiàn)接口的類必須提供這些方法的具體實現(xiàn),以下將展示如何實現(xiàn)這一要求,并提供具體的代碼示例,需要的朋友可以參考下2024-08-08java向數(shù)據(jù)庫插入數(shù)據(jù)顯示亂碼的幾種問題解決
這篇文章主要給大家介紹了關(guān)于java向數(shù)據(jù)庫插入數(shù)據(jù)顯示亂碼問題的解決方案,文章分別羅列了前臺亂碼的問題、前臺先后臺插入數(shù)據(jù)后臺接收到的數(shù)據(jù)是亂碼以及后臺向數(shù)據(jù)庫插入數(shù)據(jù)是亂碼等幾種情況,需要的朋友可以參考下2021-11-11基于kafka實現(xiàn)Spring Cloud Bus消息總線
消息總線是一種通信工具,可以在機器之間互相傳輸消息、文件等,這篇文章主要介紹了如何利用kafka實現(xiàn)SpringCloud Bus消息總線,感興趣的可以學習一下2022-04-04springboot通過spel結(jié)合aop實現(xiàn)動態(tài)傳參的案例
SpEl 是Spring框架中的一個利器,Spring通過SpEl能在運行時構(gòu)建復雜表達式、存取對象屬性、對象方法調(diào)用等,今天通過本文給大家介紹springboot?spel結(jié)合aop實現(xiàn)動態(tài)傳參,需要的朋友可以參考下2022-07-07