<b>Java线程:新特点-线程池</b>[Java编程]
本文“<b>Java线程:新特点-线程池</b>[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
有关Java5线程新特点的内容全部在java.util.concurrent下面,里面包含数目众多的接口和类,熟习这部份API特点是一项艰难的学习历程.目前有关这方面的资料和书籍都少之又少,大所属介绍线程方面书籍还逗留在java5之前的知识层面上.
当然新特点对做多线程程序没有必须的关系,在java5之前通用可以写出很优异的多线程程序.只是代价不一样罢了.
线程池的基本思惟还是一种对象池的思惟,开辟一块内存空间,里面存放了众多(未死亡)的线程,池中线程履行调度由池管理器来处理.当有线程任务时,从池中取一个,履行完成后线程对象归池,这样可以避免反复成立线程对象所带来的性能开销,节俭了系统的资源.
在Java5之前,要实现一个线程池是相当有难度的,目前Java5为我们做好了一切,我们只需求按照供应的API来利用,便可享用线程池带来的极大便利.
Java5的线程池分好多种:固定尺寸的线程池、可变尺寸衔接池、.
在利用线程池之前,必须知道若何去成立一个线程池,在Java5中,需求理解的是java.util.concurrent.Executors类的API,这个类供应大量成立衔接池的静态办法,是必须掌握的.
1、固定大小的线程池
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
以上是“<b>Java线程:新特点-线程池</b>[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |