import java.util.concurrent.Executor; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.ThreadPoolExecutor; /** * 创建多线程的第四种方式 :线程池 * 1提高响应速度 * 2降低资源消耗 * 3便于线程管理 * 线程池的属性 * carePoolSize 设置核心池的大小 * maximumPoolSize 最大线程数 * keepAliveTime 线程没有任何任务时最多保持多长时间后会终止 * */ public class testThree { public static void main(String[] args){ //1提供指定线程数量的线程池 ExecutorService service = Executors.newFixedThreadPool(10); //设置线程池的属性 ThreadPoolExecutor a = (ThreadPoolExecutor)service; // System.out.println(service.getClass()); // a.setCorePoolSize(15); // a.setKeepAliveTime(); // service.submit(Callable);//适合使用于Callable //2执行指定线程的操作 需要提供实现Runnable或Callable接口实现类的对象 service.execute(new Bank());//适合使用于Runnable service.execute(new Bank2()); //关闭连接池 service.shutdown(); } } class Bank implements Runnable{ @Override public void run() { for (int i = 1; i <= 100; i++) { if (i % 2 == 0) { System.out.print(Thread.currentThread().getName() + " :"); System.out.println(i); } } } } class Bank2 implements Runnable{ @Override public void run() { for (int i = 1; i <= 100; i++) { if (i % 2 != 0) { System.out.print(Thread.currentThread().getName() + " :"); System.out.println(i); } } } }
Java 使用线程池的方式创建多线程
最新推荐文章于 2024-08-06 22:59:50 发布