日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

线程池框架_Java并发——Executor框架详解(Executor框架结构与框架成员)

發布時間:2025/4/5 java 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 线程池框架_Java并发——Executor框架详解(Executor框架结构与框架成员) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、什么是Executor框架?

我們知道線程池就是線程的集合,線程池集中管理線程,以實現線程的重用,降低資源消耗,提高響應速度等。線程用于執行異步任務,單個的線程既是工作單元也是執行機制,從JDK1.5開始,為了把工作單元與執行機制分離開,Executor框架誕生了,他是一個用于統一創建與運行的接口。Executor框架實現的就是線程池的功能。

二、Executor框架結構圖解

1、Executor框架包括3大部分:

(1)任務。也就是工作單元,包括被執行任務需要實現的接口:Runnable接口或者Callable接口;

(2)任務的執行。也就是把任務分派給多個線程的執行機制,包括Executor接口及繼承自Executor接口的ExecutorService接口。

(3)異步計算的結果。包括Future接口及實現了Future接口的FutureTask類。

Executor框架的成員及其關系可以用一下的關系圖表示:

/* 創建一個線程池,指定corePoolSize為2 */ ScheduledExecutorService scheduleService = Executors.newScheduledThreadPool(2); /* 啟動線程池 */ /* @param command 執行的任務 */ /* @param initialDelay delay多長時間之后首次執行任務 */ /* @param period the period 兩個任務之間的執行間隔時間 */ /* @param unit 執行時間的單位 */ scheduleService.scheduleAtFixedRate(lbWorker, 45, 183, TimeUnit.SECONDS);

2、Executor框架的使用示意圖:

使用如下:

/* @param corePoolSize */ /* @param maximumPoolSize */ /* @param keepAliveTime 線程空閑時存活的有效時長 */ /* @param unit 時長單位 */ /* @param unit 時長單位 */ /* @param workQueue 等待執行的隊列 */ /* maximumPoolSize是在workQueue隊列滿了之后才額外創建的最大線程數量 */ ThreadPoolExecutor tpe = new ThreadPoolExecutor(5, 10, 100, TimeUnit.MILLISECONDS, new ArrayBlockingQueue<Runnable>(10)); /* 有返回值 */ Callable<String> callable = new Callable<String>() {public String call() throws Exception {try {Thread.sleep(5000);String a = "return String";return a;} catch (Exception e) {e.printStackTrace();return "exception";}} }; Future<String> future = tpe.submit(callable); /* 獲取返回值,這是一個同步阻塞式獲取的方法 */ future.get();/* 有返回值 */ FutureTask<String> futureTask = new FutureTask<String>(callable); futureTask.run();/* 無返回值 */ Runnable runnable = new Runnable() {public void run() {try {Thread.sleep(5000);String a = "return String";} catch (Exception e) {e.printStackTrace();}} }; tpe.execute(runnable);

三、Executor框架成員:ThreadPoolExecutor實現類、ScheduledThreadPoolExecutor實現類、Future接口、Runnable和Callable接口、Executors工廠類

總結

以上是生活随笔為你收集整理的线程池框架_Java并发——Executor框架详解(Executor框架结构与框架成员)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。