浅析Java线程池 ExecutorService
ExecutorService是Java中對(duì)線(xiàn)程池定義的一個(gè)接口,它java.util.concurrent包中.
創(chuàng)建一個(gè)什么樣的ExecutorService的實(shí)例(即線(xiàn)程池)需要g根據(jù)具體應(yīng)用場(chǎng)景而定,不過(guò)Java給我們提供了一個(gè)Executors工廠類(lèi),它可以幫助我們很方便的創(chuàng)建各種類(lèi)型ExecutorService線(xiàn)程池,Executors一共可以創(chuàng)建下面這四類(lèi)線(xiàn)程池:
newCachedThreadPool 創(chuàng)建一個(gè)可緩存線(xiàn)程池,如果線(xiàn)程池長(zhǎng)度超過(guò)處理需要,可靈活回收空閑線(xiàn)程,若無(wú)可回收,則新建線(xiàn)程。
newFixedThreadPool 創(chuàng)建一個(gè)定長(zhǎng)線(xiàn)程池,可控制線(xiàn)程最大并發(fā)數(shù),超出的線(xiàn)程會(huì)在隊(duì)列中等待。
newScheduledThreadPool 創(chuàng)建一個(gè)定長(zhǎng)線(xiàn)程池,支持定時(shí)及周期性任務(wù)執(zhí)行。
newSingleThreadExecutor 創(chuàng)建一個(gè)單線(xiàn)程化的線(xiàn)程池,它只會(huì)用唯一的工作線(xiàn)程來(lái)執(zhí)行任務(wù),保證所有任務(wù)按照指定順序(FIFO, LIFO, 優(yōu)先級(jí))執(zhí)行。
注:Executors只是一個(gè)工廠類(lèi),它所有的方法返回的都是ThreadPoolExecutor、ScheduledThreadPoolExecutor這兩個(gè)類(lèi)的實(shí)例。
簡(jiǎn)單使用
ExecutorService executorService = Executors.newFixedThreadPool(10);executorService.execute(new Runnable() { public void run() {System.out.println("Asynchronous task"); } });executorService.shutdown();總結(jié)
以上是生活随笔為你收集整理的浅析Java线程池 ExecutorService的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Mysql加锁过程详解(2)-关于mys
- 下一篇: Java存储密码用字符数组