首页 > 编程语言 > 详细

线程池

时间:2020-02-14 19:37:53      阅读:56      评论:0      收藏:0      [点我收藏+]

newCachedThreadPool(通常是首选)

 创建一个可根据需要创建新线程的线程池,但是在以前构造的线程可用时将重用它们。对于执行很多短期异步任务的程序而言,这些线程池通常可提高程序性能。调用 execute 将重用以前构造

的线程(如果线程可用)。如果现有线程没有可用的,则创建一个新线程并添加到池中。终止并从缓存中移除那些已有 60 秒钟未被使用的线程。因此,长时间保持空闲的线程池不会使用任何资源。

 

 newFixedThreadPool

  创建一个可重用固定线程数的线程池,一次性预先执行代价高昂的线程分配,限制线程的数量,这样可以节省时间,因为你不用为每个人物都固定的付出创建线程的开销

 

newSingleThreadExecutor

  Executor.ThreadExecutor()返回一个线程池(这个线程池只有一个线程),这个线程池可以在线程死后(或发生异常时)重新启动一个线程来替代原来的线程继续执行下去! 

 

Java 里面线程池的顶级接口是 Executor,但是严格意义上讲 Executor 并不是一个线程池,而只是一个执行线程的工具。真正的线程池接口是 ExecutorService。

 

有返回值线程池

  实现Callable接口而不是Runnble接口,在java se5中引入的callable是一种具有参数的泛型,它的类型参数表示的是从方法call()中固定返回值,并且必须使用ExecutorService.submit()方法调用它

  (详情见java编程思想658页)

 

    

 

线程池

原文:https://www.cnblogs.com/xiaoayu/p/12308521.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!