请问:
对于static ExecutorService newCachedThreadPool(ThreadFactory threadFactory)  方法
jdk是这样解释的:
创建一个可根据需要创建新线程的线程池,但是在以前构造的线程可用时将重用它们,并在需要时使用提供的 ThreadFactory 创建新线程。
我刚接触这 看不明白 请高手帮忙一句一句的解释 如果用结合一个小程序 更好
谢谢

解决方案 »

  1.   

    类似于数据库连接池的概念,池中缓存一定数量的thread,在thread数量不够的情况下可以用threadfactory来创建新线程
      

  2.   

    创建一个可根据需要创建新线程的线程池,意思是:只在需要使用时才会新创建但是在以前构造的线程可用时将重用它们,
    意思是:之前使用的线程是可以重用的,也就是第二次使用的还是第一次创建的线程(当然前提是第一次调用已经完成了)
    并在需要时使用提供的 ThreadFactory 创建新线程。 
    意思是:线程是由指定的ThreadFactory创建,而不是直接new Thread
      

  3.   

    你用到的这个工厂方法在java核心技术卷2上是这样解释的:
    执行器(Executor)类用来构建线程池的静态工厂方法之一-------
    newCatchedThreadPool  方法在需要时创建新线程;空闲线程会保留60秒。
    一个线程池有大量准备运行的空闲线程。将一个Runnable对象给线程池,线程池中的一个空闲线程就会调用Runnable对象的run方法。
    run方法退出后,线程不会死亡,而是继续在线程池中准备为下一个请求提供服务。
    上面的方法产生的线程池当线程池中没有空闲线程时,会用提供的ThreadFactory 对象创建新的线程响应当前的Runnable对象的请求,在这一run方法结束后,该线程会被保留60秒,之后死亡。