WEB开发网
开发学院软件开发Java Java线程:新特征-线程池 阅读

Java线程:新特征-线程池

 2009-12-02 00:00:00 来源:WEB开发网   
核心提示: pool-1-thread-1正在执行,,Java线程:新特征-线程池(2),,pool-1-thread-1正在执行,pool-1-thread-2正在执行,,,

pool-1-thread-1正在执行。。。
pool-1-thread-1正在执行。。。
pool-1-thread-1正在执行。。。
pool-1-thread-1正在执行。。。
pool-1-thread-2正在执行。。。
Process finished with exit code 0

二、单任务线程池

在上例的基础上改一行创建pool对象的代码为:

                //创建一个使用单个 worker 线程的 Executor,以无界队列方式来运行该线程。
                ExecutorService pool = Executors.newSingleThreadExecutor();

输出结果为:

pool-1-thread-1正在执行。。。
pool-1-thread-1正在执行。。。
pool-1-thread-1正在执行。。。
pool-1-thread-1正在执行。。。
pool-1-thread-1正在执行。。。
Process finished with exit code 0

对于以上两种连接池,大小都是固定的,当要加入的池的线程(或者任务)超过池最大尺寸时候,则入此线程池需要排队等待。

一旦池中有线程完毕,则排队等待的某个线程会入池执行。

三、可变尺寸的线程池

与上面的类似,只是改动下pool的创建方式:

                //创建一个可根据需要创建新线程的线程池,但是在以前构造的线程可用时将重用它们。
                ExecutorService pool = Executors.newCachedThreadPool();

pool-1-thread-5正在执行。。。
pool-1-thread-1正在执行。。。
pool-1-thread-4正在执行。。。
pool-1-thread-3正在执行。。。
pool-1-thread-2正在执行。。。
Process finished with exit code 0

上一页  1 2 3 4 5  下一页

Tags:Java 线程 特征

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接