什么是java線程池框架
多線程是程序員面試時(shí)常常會(huì)面對(duì)的問(wèn)題,對(duì)多線程概念的掌握和理解水平,也常常被用來(lái)衡量一個(gè)人的編程實(shí)力。不錯(cuò),普通的多線程已經(jīng)不容易了。
一、線程池結(jié)構(gòu)圖
二、示例
定義線程接口
6public class MyThread extends Thread {@Overridepublicvoid run() {System.out.println(Thread.currentThread().getName() + "正在執(zhí)行");}}
1:newSingleThreadExecutor
10ExecutorService pool = Executors. newSingleThreadExecutor();Thread t1 = new MyThread();Thread t2 = new MyThread();Thread t3 = new MyThread();/pic/pic/p>
輸入結(jié)果:
3pool-1-thread-1正在執(zhí)行pool-1-thread-1正在執(zhí)行pool-1-thread-1正在執(zhí)行
2:newFixedThreadPool
13ExecutorService pool = Executors.newFixedThreadPool(3);Thread t1 = new MyThread();Thread t2 = new MyThread();Thread t3 = new MyThread();Thread t4 = new MyThread();Thread t5 = new MyThread();/pic/p>
輸入結(jié)果:
4pool-1-thread-1正在執(zhí)行pool-1-thread-2正在執(zhí)行pool-1-thread-1正在執(zhí)行pool-1-thread-2正在執(zhí)行
3 :newCachedThreadPool
14ExecutorService pool = Executors.newCachedThreadPool();Thread t1 = new MyThread();Thread t2 = new MyThread();Thread t3 = new MyThread();Thread t4 = new MyThread();Thread t5 = new MyThread();/pic/pic/p>
輸入結(jié)果:
5pool-1-thread-2正在執(zhí)行pool-1-thread-4正在執(zhí)行pool-1-thread-3正在執(zhí)行pool-1-thread-1正在執(zhí)行pool-1-thread-5正在執(zhí)行
4 :ScheduledThreadPoolExecutor
14ScheduledExecutorService pool = Executors.newScheduledThreadPool(2);pool.scheduleAtFixedRate(new Runnable() {/pic/pic/pic/p>
輸入結(jié)果:
4================+++++++++++++++++++++++++++++++++++++++++++++++++++
三、線程池核心參數(shù)
corePoolSize : 池中核心的線程數(shù)
maximumPoolSize : 池中允許的最大線程數(shù)。
keepAliveTime : 當(dāng)線程數(shù)大于核
【什么是java線程池框架】相關(guān)文章:
java線程池框架是什么01-11
java線程池框架解析03-07
java線程池框架解析方法10-04
Java 5線程池使用11-21
什么是java主線程12-14
java中通用的線程池實(shí)例代碼12-18
java主線程是什么11-28
java多線程10-24
java的多線程11-04