首页 > 编程 > Java > 正文

java并发编程-Executor框架+Future

2019-11-09 19:20:23
字体:
来源:转载
供稿:网友
Executor框架是指java 5中引入的一系列并发库中与executor相关的一些功能类,其中包括线程池,Executor,Executors,ExecutorService,CompletionService,Future,Callable等。他们的关系为:

c5653557-d5d5-3cca-b2d8-36b11dadd621

并发编程的一种编程方式是把任务拆分为一些列的小任务,即Runnable,然后在提交给一个Executor执行,Executor.execute(Runnalbe) 。Executor在执行时使用内部的线程池完成操作。

一、创建线程池

Executors类,提供了一系列工厂方法用于创先线程池,返回的线程池都实现了ExecutorService接口。

public static ExecutorService newFixedThreadPool(int nThreads)

创建固定数目线程的线程池。

public static ExecutorService newCachedThreadPool()

创建一个可缓存的线程池,调用execute 将重用以前构造的线程(如果线程可用)。如果现有线程没有可用的,则创建一个新线程并添加到池中。终止并从缓存中移除那些已有 60 秒钟未被使用的线程。

public static ExecutorService newSingleThreadExecutor()

创建一个单线程化的Executor。

public static ScheduledExecutorService newScheduledThreadPool(int corePoolSize)

创建一个支持定时及周期性的任务执行的线程池,多数情况下可用来替代Timer类。.

[java] view plain copy PRint?在CODE上查看代码片派生到我的代码片Executor executor = Executors.newFixedThreadPool(10);   Runnable task = new Runnable() {       @Override      public void run() {           System.out.println("task over");       }   };   executor.execute(task);       executor = Executors.newScheduledThreadPool(10);   ScheduledExecutorService scheduler = (ScheduledExecutorService) executor;   scheduler.scheduleAtFixedRate(task, 10, 10, TimeUnit.SECONDS);  
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表