java線程池實現
線程池是一種多線程處理形式,處理過程中將任務添加到隊列,然後在創建線程後自動啓動這些任務。
五種Java線程池功能及分析
線程池都繼承了ExecutorService的接口
因爲繼承了ExecutorService接口,ExecutorService是Java提供的用於管理線程池的類。
該類的兩個作用:控制線程數量和重用線程。
只有調用了shutdown()的時候纔是正式的終止了這個線程池。
四種常見的線程池詳解
java通過Executors工廠類提供我們的線程池一共有4種:
Executors.newFixedThreadPool(int n) //啓動固定線程數的線程池
Executors.newCacheThreadPool() //按需分配的線程池
Executors.newScheduledThreadPool(int n)//定時,定期執行任務的線程池
Executors.newSingleThreadExecutor()://單線程化的線程池。
自定義線程池ThreadPoolExecutor
ThreadPoolExecutor()//指定線程數的線程池。
ThreadPoolExecutor(int corePoolSize,
int maximumPoolSize,
long keepAliveTime,
TimeUnit unit,
BlockingQueue<Runnable> workQueue,
ThreadFactory threadFactory,
RejectedExecutionHandler handler)
自定義線程池,可以用ThreadPoolExecutor類創建,它有多個構造方法來創建線程池。