Executors提供四种线程池

Java通过Executors提供四种线程池,分别为:1、newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需求,可以灵活回收空闲线程,若无可回收则新建线程。2、newFixedThreadPool创建一个定长线程池,可以控制线程最大并发数,超过的线程会在队列中等待。3、newScheduledThreadPool创建一个定长线程池,支持定时及周期性任务执行。4、newSingleThreadExecutor创建一个单线程化的线程池,它只会用唯一的工作线程来执行任务,保证所有任务按照指定顺序执行。

1、newCachedThreadPool

ExecutorService cachedThreadPool = Executors.newCachedThreadPool();cachedThreadPool.execute(new Runnable() {@Overridepublic void run() {//do something}});

2、newFixedThreadPool

ExecutorService fixedThreadPool = Executors.newFixedThreadPool(3);fixedThreadPool.execute(new Runnable() {@Overridepublic void run() {//do something}});

3、newScheduledThreadPool

//延迟三秒执行ScheduledExecutorService scheduledThreadPool = Executors.newScheduledThreadPool(5);scheduledThreadPool.schedule(new Runnable() {@Overridepublic void run() {//do something}}, 3, TimeUnit.SECONDS);

//表示延迟1秒后每隔3秒钟执行一次scheduledThreadPool.scheduleAtFixedRate(new Runnable() {@Overridepublic void run() {//do something}}, 1, 3, TimeUnit.SECONDS);

4、newSingleThreadExecutor

ExecutorService singleThreadExecutor = Executors.newSingleThreadExecutor();singleThreadExecutor.execute(new Runnable() {@Overridepublic void run() {//do something}});


分享到:


相關文章: