线程池
创建线程和销毁线程占用的资源较多,利用线程池可以重复利用已经创建的线程,避免了重复创建销毁线程
package com.wowowo.pool;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//从线程池中取出线程对象执行任务,任务执行完毕 ,会返回到线程池中.
//1.创建线程池
ExecutorService pool= Executors.newFixedThreadPool(2);
//2.给线程池分配任务
pool.submit(new Thread1());
pool.submit(new Thread2());
pool.submit(new Thread3());
pool.shutdown(); //销毁线程池 一般不用销毁
}
}
package com.wowowo.pool;
public class Thread1 implements Runnable {
@Override
public void run() {
System.out.println(Thread.currentThread().getName()+"在执行任务");
// TODO Auto-generated method stub
for(int i=1;i<=100;i++)
System.out.println("a..."+i);
}
}
package com.wowowo.pool;
public class Thread2 implements Runnable {
@Override
public void run() {
System.out.println(Thread.currentThread().getName()+"在执行任务");
// TODO Auto-generated method stub
for(int i=1;i<=100;i++)
System.out.println("b..."+i);
}
}
package com.wowowo.pool;
public class Thread3 implements Runnable {
@Override
public void run() {
System.out.println(Thread.currentThread().getName()+"在执行任务");
// TODO Auto-generated method stub
for(int i=1;i<=100;i++)
System.out.println("c..."+i);
}
}