java线程池的使用(新手)

来源:互联网 发布:中老年妈妈装淘宝网 编辑:程序博客网 时间:2024/06/14 04:57
一、为什么使用线程池
程序在启动一个新线程时所需成本是比较高的,因为它要与操作系统进行交互,使用线程池可以很好的提高性能,尤其是程序中存在大量的生存周期很短的线程时,这时就应该用到线程池。
二、线程池的特点
1.线程池里的线程代码结束后并不会死亡,而是再次回到线程池中成为空闲状态,等待下一个对象使用。
2.在jdk1.5之前,我们必须自己手动实现自己的线程池(不会,有兴趣可以自行百度),从jdk1.5开始,java内置支持线程池。
三、创建使用线程池
package a; import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors; public class MyExecutors {         //使用Executors类里的newFixedThreadPool方法创建ExecutorService对象,3代表线程数         private static ExecutorService pool=Executors.newFixedThreadPool(3);         public static void main(String[] args) {                   try{//使用try...finally保证线程一定能关闭                   //使用ExecutorService接口里的submit方法添加执行线程,注意:只可以执行Runble或Callable对象所代表的线程                   pool.submit(new RunbleThread());                   pool.submit(new RunbleThread());                   pool.submit(new RunbleThread());                   }finally{                   //关闭线程池                   pool.shutdown();                   }         } }class RunbleThread implements Runnable{          @Override         public void run() {                   for (int i = 0; i < 10; i++) {                            System.out.println("我是线程:"+Thread.currentThread().getName());                   }         }        }

原创粉丝点击