国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

實現線程池的代碼

miya / 1782人閱讀

摘要:以下拋異常,因為線程池都沒了線程池之后提供的線程池的工廠類用來生成線程池類中的靜態方法創建一個可重用固定線程數的線程池參數創建線程池中包含的線程數量返回值接口返回的是接口的實現類對象我們可以使用接口接收面向接口編程線程池接口用來從線程池中獲


以下拋異常,因為線程池都沒了


package com.itheima.demo02.ThreadPool;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

/*

線程池:JDK1.5之后提供的
java.util.concurrent.Executors:線程池的工廠類,用來生成線程池
Executors類中的靜態方法:
    static ExecutorService newFixedThreadPool(int nThreads) 創建一個可重用固定線程數的線程池
    參數:
        int nThreads:創建線程池中包含的線程數量
    返回值:
        ExecutorService接口,返回的是ExecutorService接口的實現類對象,我們可以使用ExecutorService接口接收(面向接口編程)
java.util.concurrent.ExecutorService:線程池接口
    用來從線程池中獲取線程,調用start方法,執行線程任務
        submit(Runnable task) 提交一個 Runnable 任務用于執行
    關閉/銷毀線程池的方法
        void shutdown()
線程池的使用步驟:
    1.使用線程池的工廠類Executors里邊提供的靜態方法newFixedThreadPool生產一個指定線程數量的線程池
    2.創建一個類,實現Runnable接口,重寫run方法,設置線程任務
    3.調用ExecutorService中的方法submit,傳遞線程任務(實現類),開啟線程,執行run方法
    4.調用ExecutorService中的方法shutdown銷毀線程池(不建議執行)

*/
public class Demo01ThreadPool {

public static void main(String[] args) {
    //1.使用線程池的工廠類Executors里邊提供的靜態方法newFixedThreadPool生產一個指定線程數量的線程池
    ExecutorService es = Executors.newFixedThreadPool(2);
    //3.調用ExecutorService中的方法submit,傳遞線程任務(實現類),開啟線程,執行run方法
    es.submit(new RunnableImpl());//pool-1-thread-1創建了一個新的線程執行
    //線程池會一直開啟,使用完了線程,會自動把線程歸還給線程池,線程可以繼續使用
    es.submit(new RunnableImpl());//pool-1-thread-1創建了一個新的線程執行
    es.submit(new RunnableImpl());//pool-1-thread-2創建了一個新的線程執行

    //4.調用ExecutorService中的方法shutdown銷毀線程池(不建議執行)
    es.shutdown();

    es.submit(new RunnableImpl());//拋異常,線程池都沒有了,就不能獲取線程了
}

}
package com.itheima.demo02.ThreadPool;
/*

2.創建一個類,實現Runnable接口,重寫run方法,設置線程任務

*/
public class RunnableImpl implements Runnable{

@Override
public void run() {
    System.out.println(Thread.currentThread().getName()+"創建了一個新的線程執行");
}

}

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/75948.html

相關文章

  • Java中的線程

    摘要:中的線程池運用場景非常廣泛,幾乎所有的一步或者并發執行程序都可以使用。代碼中如果執行了方法,線程池會提前創建并啟動所有核心線程。線程池最大數量線程池允許創建的線程最大數量。被稱為是可重用固定線程數的線程池。 Java中的線程池運用場景非常廣泛,幾乎所有的一步或者并發執行程序都可以使用。那么線程池有什么好處呢,以及他的實現原理是怎么樣的呢? 使用線程池的好處 在開發過程中,合理的使用線程...

    tomato 評論0 收藏0
  • 從0到1玩轉線程

    摘要:提交任務當創建了一個線程池之后我們就可以將任務提交到線程池中執行了。提交任務到線程池中相當簡單,我們只要把原來傳入類構造器的對象傳入線程池的方法或者方法就可以了。 我們一般不會選擇直接使用線程類Thread進行多線程編程,而是使用更方便的線程池來進行任務的調度和管理。線程池就像共享單車,我們只要在我們有需要的時候去獲取就可以了。甚至可以說線程池更棒,我們只需要把任務提交給它,它就會在合...

    darkerXi 評論0 收藏0
  • 線程池原理淺析

    摘要:線程池主要解決兩個問題一是當執行大量異步任務時線程池能夠提供很好的性能。二是線程池提供了一種資源限制和管理的手段,比如可以限制現成的個數,動態新增線程等。該方法返回一個對象,可指定線程池線程數量。 什么是線程池? 為了避免頻繁重復的創建和銷毀線程,我們可以讓這些線程進行復用,在線程池中,總會有活躍的線程在占用,但是線程池中也會存在沒有占用的線程,這些線程處于空閑狀態,當有任務的時候會從...

    未東興 評論0 收藏0
  • Java線程池簡單總結

    摘要:本文主要內容為簡單總結中線程池的相關信息。方法簇方法簇用于創建固定線程數的線程池。三種常見線程池的對比上文總結了工具類創建常見線程池的方法,現對三種線程池區別進行比較。 概述 線程可認為是操作系統可調度的最小的程序執行序列,一般作為進程的組成部分,同一進程中多個線程可共享該進程的資源(如內存等)。在單核處理器架構下,操作系統一般使用分時的方式實現多線程;在多核處理器架構下,多個線程能夠...

    CoorChice 評論0 收藏0
  • Java 線程池的認識和使用

    摘要:用于限定中線程數的最大值。該線程池中的任務隊列維護著等待執行的對象。線程池和消息隊列筆者在實際工程應用中,使用過多線程和消息隊列處理過異步任務。以上是筆者在學習實踐之后對于多線程和消息隊列的粗淺認識,初學者切莫混淆兩者的作用。 多線程編程很難,難點在于多線程代碼的執行不是按照我們直覺上的執行順序。所以多線程編程必須要建立起一個宏觀的認識。 線程池是多線程編程中的一個重要概念。為了能夠更...

    mgckid 評論0 收藏0

發表評論

0條評論

miya

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<