2020久久超碰欧美精品最新亚洲欧美日韩久久精品,国产福利电影一区二区三区,亚洲欧美日韩一区在线观看,亚洲国产欧美日韩欧美特级,亚洲欧美日韩成人一区久久,欧美日韩精品一区二区三区不卡,国产欧美日韩va另类影音先锋,亚洲欧美日韩久久精品,亚洲欧美日韩国产成人精品影院,亚洲国产欧美日韩精品一区二区三区,欧美日韩国产成人高清视频,日韩久久精品国产免费观看频道,久久人人爽人人爽从片av高清,国产精品综合一区二区

首頁技術文章正文

Executor接口實現線程池管理

更新時間:2022-05-20 來源:黑馬程序員 瀏覽量:

從JDK5開始,在java.util.concurrent包下增加了Executor接口及其子類,允許使用線程池技術來管理線程并發問題。Executor接口提供了一個常用的ExecutorService子接口,通過該子接口可以很方便地進行線程池管理。

通過Executor接口實現線程池管理的主要步驟如下:

(1)創建一個實現Runnable接口或者Callable接口的實現類,同時重寫run()或者call()方法;

(2)創建Runnable接口或者Callable接口的實現類對象;

(3)使用Executors線程執行器類創建線程池;

(4)使用ExecutorService執行器服務類的submit()方法將Runnable接口或者Callable接口的實現類對象提交到線程池進行管理;

(5)線程任務執行完成后,可以使用shutdown()方法關閉線程池。

接下來通過一個案例來演示如何通過Executor接口來實現線程池管理,如例10-18所示。

例10-18 Example18.java

import java.util.concurrent.*;
//1.定義一個實現Callable接口的實現類
class MyThread4 implements Callable<Object>{
    //1.1重寫callable接口的cal1()方法
    public Object call () throwa Exception {
        int i=0;
        while (i++<5)(
            System.out.println(Thread.currentThread().getName()
                               +“的cal1()方法在運行“);
        }
        return 1;
     } 
 }
public class Examplel8 {
   public static void main(String[] args) throws InterruptedException,
                                                 ExecutionException (
       //2.創建Callable接口的實現類對象
       MyThread4 myThread4 =new MyThread4();
       //3.使用Executors線程執行器類創建可擴展的線程池
       ExecutorService executor =Executors.newCachedThreadPool () ;
       //4.將cal1able接口實現類對象提交到線程池進行管理
       Future<Object>resultl=executor.submit(myThread4);
       Future<Object>result2=executor.submit(myThread4);
       //5.關閉線程池
       executor. shutdown ();
       //對于有返回值的線程任務,獲取執行結果
       System.out.println("thread-1返回結果:"+result1.get());
       System.out.println("thread-2返回結果:"+result2.get());
   }
}

1653041413356_2222.jpg

從圖10-22可以看出,例10-18所示的案例創建了一個自定義的線程池executor(線程池默認生成名稱為pool-1),在該線程池中管理有兩個默認生成名稱的線程thread-1和thread-2,同時還可以獲取這兩個線程的執行結果。

在例10-18所示的案例中,線程池是通過Executors的newCachedThreadPool()方法創建的,Executors是JDK5中增加的線程執行器工具類,提供了4種方法來創建用于不同需求的線程池,如表10-4所示。

1653041340325_方法聲明.png

分享到:
在線咨詢 我要報名
和我們在線交談!