快速业务通道

Java线程:新特征-线程池 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-19

Java线程:新特征-线程池

时间:2011-02-20 51cto博客 leizhimin

有关Java5线程新特征的内容全部在java.util.concurrent下面,里面包含数目众多的接口和类,熟悉这部分API特征是一项艰难的学习过程。目前有关这方面的资料和书籍都少之又少,大所属介绍线程方面书籍还停留在java5之前的知识层面上。

当然新特征对做多线程程序没有必须的关系,在java5之前通用可以写出很优秀的多线程程序。只是代价不一样而已。

线程池的基本思想还是一种对象池的思想,开辟一块内存空间,里面存放了众多(未死亡)的线程,池中线程执行调度由池管理器来处理。当有线程任务时,从池中取一个,执行完成后线程对象归池,这样可以避免反复创建线程对象所带来的性能开销,节省了系统的资源。

在Java5之前,要实现一个线程池是相当有难度的,现在Java5为我们做好了一切,我们只需要按照提供的API来使用,即可享受线程池带来的极大便利。

Java5的线程池分好多种:固定尺寸的线程池、可变尺寸连接池、。

在使用线程池之前,必须知道如何去创建一个线程池,在Java5中,需要了解的是java.util.concurrent.Executors类的API,这个类提供大量创建连接池的静态方法,是必须掌握的。

一、固定大小的线程池

import java.util.concurrent.Executors; import java.util.concurrent.ExecutorService; /** * Java线程:线程池- * * @author Administrator 2009-11-4 23:30:44 */ public class Test {          public static void main(String[] args) {                  //创建一个可重用固定线程数的线程池                  ExecutorService pool = Executors.newFixedThreadPool(2);                  //创建实现了Runnable接口对象,Thread对象当然也实现了Runnable接口                  Thread t1 = new MyThread();                  Thread t2 = new MyThread();                  Thread t3 = new MyThread();                  Thread t4 = new MyThread();                  Thread t5 = new MyThread();                  //将线程放入池中进行执行                  pool.execute(t1);                  pool.execute(t2);                  pool.execute(t3);                  pool.execute(t4);                  pool.execute(t5);                  //关闭线程池                  pool.shutdown();          } } class MyThread extends Thread{          @Override          public void run() {                  System.out.println(Thread.currentThread().getName()+"正在执行。。。");          } }

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

Java线程:新特征-线程池(2)

时间:2011-02-20 51cto博客 leizhimin

二、单任务线程池

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

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

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号