线程池

2017-08-26  本文已影响0人  阿拉要洗澡

Executors提供四种线程池:


newCachedThreadPool

创建一个可缓存线程池,可根据需要创建新线程

newFixedThreadPool

创建一个定长线程池,指定可以运行的线程的最大数目。超过这个数目的线程加进去以后,不会运行

ExecutorService executorService = Executors.newFixedThreadPool(10);

使用 newFixedThreadPool() 工厂方法创建壹個 ExecutorService ,上述代码创建了壹個可以容纳10個线程任务的线程池,向 execute() 方法中传递壹個异步的 Runnable 接口的实现,这样做会让ExecutorService 中的某個线程执行这個 Runnable 线程。

newScheduledThreadPool

创建一个定长线程池,支持定时及周期性任务执行。

newSingleThreadExecutor

创建一个单线程的线程池。


备注:

ExecutorService:

ExecutorService executorService = Executors.newFixedThreadPool(10);

使用 newFixedThreadPool() 工厂方法创建壹個 ExecutorService ,上述代码创建了壹個可以容纳10個线程任务的线程池,向 execute() 方法中传递壹個异步的 Runnable 接口的实现,这样做会让ExecutorService 中的某個线程执行这個 Runnable 线程。

ExecutorService executorService = Executors.newFixedThreadPool(10);

executorService.execute(  newRunnable() {

           public void run() {

                      System.out.println("Asynchronous task");

           }

});

executorService.shutdown();

上一篇下一篇

猜你喜欢

热点阅读