博客
关于我
创建线程的方式四:使用线程池
阅读量:395 次
发布时间:2019-03-05

本文共 1580 字,大约阅读时间需要 5 分钟。

 

 

 

 

/**  * 创建线程的方式四:使用线程池  *  * 好处:  * 1.提高响应速度(减少了创建新线程的时间)  * 2.降低资源消耗(重复利用线程池中线程,不需要每次都创建)  * 3.便于线程管理  *      corePoolSize:核心池的大小  *      maximumPoolSize:最大线程数  *      keepAliveTime:线程没有任务时最多保持多长时间后会终止  *  *  * 面试题:创建多线程有几种方式?四种!  * @author ch  * @create 2021-02-15 下午 6:30  */
package com.chh.java2;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.ThreadPoolExecutor;class NumberThread implements Runnable{    @Override    public void run() {        for(int i = 0;i <= 100;i++){            if(i % 2 == 0){                System.out.println(Thread.currentThread().getName() + ": " + i);            }        }    }}class NumberThread1 implements Runnable{    @Override    public void run() {        for(int i = 0;i <= 100;i++){            if(i % 2 != 0){                System.out.println(Thread.currentThread().getName() + ": " + i);            }        }    }}public class ThreadPool {    public static void main(String[] args) {        //1. 提供指定线程数量的线程池        ExecutorService service = Executors.newFixedThreadPool(10);        ThreadPoolExecutor service1 = (ThreadPoolExecutor) service;        //设置线程池的属性//        System.out.println(service.getClass());//        service1.setCorePoolSize(15);//        service1.setKeepAliveTime();        //2.执行指定的线程的操作。需要提供实现Runnable接口或Callable接口实现类的对象        service.execute(new NumberThread());//适合适用于Runnable        service.execute(new NumberThread1());//适合适用于Runnable//        service.submit(Callable callable);//适合使用于Callable        //3.关闭连接池        service.shutdown();    }}

 

 

转载地址:http://ctozz.baihongyu.com/

你可能感兴趣的文章
java.util.Optional学习笔记
查看>>
远程触发Jenkins的Pipeline任务的并发问题处理
查看>>
jackson学习之七:常用Field注解
查看>>
jackson学习之八:常用方法注解
查看>>
Web应用程序并发问题处理的一点小经验
查看>>
entity framework core在独立类库下执行迁移操作
查看>>
Asp.Net Core 2.1+的视图缓存(响应缓存)
查看>>
服务器开发- Asp.Net Core中的websocket,并封装一个简单的中间件
查看>>
没花一分钱的我竟然收到的JetBrains IDEA官方免费赠送一年的Licence
查看>>
Redis 集合统计(HyperLogLog)
查看>>
RE套路 - 关于pyinstaller打包文件的复原
查看>>
【wp】HWS计划2021硬件安全冬令营线上选拔赛
查看>>
Ef+T4模板实现代码快速生成器
查看>>
dll详解
查看>>
c++ static笔记
查看>>
C++中头文件相互包含与前置声明
查看>>
JQuery选择器
查看>>
MVC中在一个视图中,怎么加载另外一个视图?
查看>>
SQL--存储过程
查看>>
MVC学习系列5--Layout布局页和RenderSection的使用
查看>>