最新消息:

Java线程池的管理(二)

java 老鹰 299浏览 0评论

今天,我们要讨论的就是线程池中提交任务的几个方法:

1)java.util.concurrent.Executor接口中的: void execute(Runnable command); 方法

1.1)仅仅只是执行run方法里的业务逻辑请求,并不会将执行结果返回给主线程,也就是一个不可控任务执行结果的线程。

1.2)如果command是null,则直接抛出NullPointerException

1.3)如果当前的executor已经shutdown 或者 容量已满,则将由对应的RejectedExecutionHandler接口实现类来捕获异常,默认为AbortPolicy(将直接抛出异常,不做任何处理)

2)Executor接口的子类ExecutorService的submit系列方法

2.1)<T> Future<T> submit(Callable<T> task);

2.2)<T> Future<T> submit(Runnable task, T result);

2.3)Future<?> submit(Runnable task);

此类方法会返回一个Future对象给调用方,其中的get()方法会将此任务的执行结果返回,可能是定义好的返回的数据类型,也可能是任务执行的异常,故此,我们可以进行相应的异常补救方案。

简单的例子如下:

submit方法

submit方法

待完成……

转载请注明:冯英胜的博客 » Java线程池的管理(二)

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址