各種執行緒池實現,pool

xz43發表於2016-03-15

列舉幾種執行緒池實現:

【1】ExecutorService

http://www.gznc.edu.cn/yxsz/jjglxy/book/Java_api/java/util/concurrent/ExecutorService.html

【2】ScheduledExecutorService

http://www.gznc.edu.cn/yxsz/jjglxy/book/Java_api/java/util/concurrent/ScheduledExecutorService.html

【3】ThreadPoolExecutor

http://www.gznc.edu.cn/yxsz/jjglxy/book/Java_api/java/util/concurrent/ThreadPoolExecutor.html

【4】ScheduledThreadPoolExecutor

http://www.gznc.edu.cn/yxsz/jjglxy/book/Java_api/java/util/concurrent/ScheduledThreadPoolExecutor.html

 

 

public static void main(String[] args) {
 
    // 建立一個可重用固定執行緒集合的執行緒池,以共享的無界佇列(a shared unbounded queue)方式來執行這些執行緒
    ExecutorService pool1 = Executors.newFixedThreadPool(3);
    
    // 建立一個可根據需要建立新執行緒的執行緒池,但是在以前構造的執行緒可用時將重用它們
    ExecutorService pool2 = Executors.newCachedThreadPool();
 
    // 建立一個使用單個worker執行緒的Executor,以無界佇列方式來執行該執行緒
    ExecutorService pool3 = Executors.newSingleThreadExecutor();
 
    // 建立一個執行緒池,它可安排在給定延遲後執行命令或者定期地執行
    ScheduledExecutorService pool4 = Executors.newScheduledThreadPool(3);
 
    // 建立一個單執行緒執行程式,它可安排在給定延遲後執行命令或者定期地執行
    ScheduledExecutorService pool5 = Executors.newSingleThreadScheduledExecutor();
 
    // 建立一個可伸縮執行緒池
    ThreadPoolExecutor pool6 = new ThreadPoolExecutor(3, 5, 3,
            TimeUnit.SECONDS, new ArrayBlockingQueue<Runnable>(3), new ThreadPoolExecutor.DiscardOldestPolicy());
 
    // 建立一個可伸縮執行緒池,它可安排在給定延遲後執行命令或者定期地執行
    ScheduledThreadPoolExecutor pool7 = new ScheduledThreadPoolExecutor(5);
    
}

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9399028/viewspace-2057742/,如需轉載,請註明出處,否則將追究法律責任。

相關文章