栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

10分钟了解线程池

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

10分钟了解线程池

5.7 线程池 5.7.1 线程池的概念

线程池:其实就是一个可以容纳多个线程的容器,其中的线程可以反复利用,省去了重复创建线程对象的操作,不需要反复创建线程而造成过多的资源消耗。

线程池的优点:

  1. 降低资源消耗
    • 减少创建线程和销毁线程的次数,每个线程都可以被重复利用,可执行多个任务。
  2. 提高响应速度
    • 不需要频繁的创建线程,如果有线程可以直接用,不会出现系统死掉。
  3. 提高线程的可管理性
    • 线程池可以约束系统最多只能有多少个线程,不会造成因为系统线程过多而死机。

5.7.2 线程池的使用

1、创建线程池

​ 通过Executors.class提供的public ExecutorService newFixedThreadPool(int nThread){}

// 创建一个线程池, 线程最大数为3
ExecutorService pools = Executors.newFixedThreadPool(3)

2、往线程池中添加任务

​ ExecutorService.class提供线程任务的方法public Future submit(Runnable task)

​ ExecutorService.class提供线程任务的方法public Future submit(Callable task)

//        2、往线程池中添加任务
// 像线程池中提交Runnable线程任务
        MyRunnable myRunnable = new MyRunnable();
        pools.submit(myRunnable);
// 向线程池中提交Callable线程任务
	MyCallable myCallable = new MyCallable();
        Future t1 = pools.submit(myCallable);
// 获取myCallable线程任务的执行结果
		String result = t1.get()

3、关闭线程池

  • shutdown():等待线程完成任务后关闭线程池
  • shutdownNow(): 立即关闭线程池,不论线程任务是否执行完毕

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/694801.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号