07-线程池(重点)&三大方法&7大参数&4种拒绝策略,2024Java高级面试题

本文介绍了Java中线程复用和线程池的使用,包括Executors工具类提供的三种线程池模式(单线程、固定线程池和可伸缩线程池),以及如何自定义线程池和设置不同的执行策略。作者还分享了创建线程池的7大参数,并提及了面试中常见的并发编程知识点和架构专题的学习资源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

线程复用,可以控制最大并发数,管理线程

线程池,三大方法

package test03;

import java.util.concurrent.ExecutorService;

import java.util.concurrent.Executors;

//Executors 工具类 3大方法

public class Test1 {

public static void main(String[] args) {

ExecutorService threadpool = Executors.newSingleThreadExecutor();//单个线程

// ExecutorService threadpool = Executors.newFixedThreadPool(5);//创建一个固定的线程池的大小

//ExecutorService threadpool = Executors.newCachedThreadPool();//可伸缩的,遇强则强,遇弱则弱

try{

for (int i = 0; i < 10; i++) {

//使用了线程池之后,使用线程池来创建线程

threadpool.execute(()->{

System.out.println(

Thread.currentThread().getName()+“ok”

);

});

}

}catch (Exception e){

e.printStackTrace();

}finally {

//线程池用完,程序结束,关闭线程池

threadpool.shutdown();

}

}

}

7大参数

public ThreadPoolExecutor(int corePoolSize,

int maximumPoolSize,

long keepAliveTime,

TimeUnit unit,

BlockingQueue workQueue) {

this(corePoolSize, maximumPoolSize, keepAliveTime, unit, workQueue,

Executors.defaultThreadFactory(), defaultHandler);

}

在这里插入图片描述

自定义线程池

package test03;

import java.util.concurrent.*;

/**

*new ThreadPoolExecutor.AbortPolicy() //银行满了,还有人进来,不处理这个人的,抛出异常

*new ThreadPoolExecutor.CallerRunsPolicy() //哪里来的回哪去 main线程

  • new ThreadPoolExecutor.DiscardPolicy()// 队列满了,丢掉任务,不会抛出异常

  • new ThreadPoolExecutor.DiscardOldestPolicy() //队列满了,尝试去和最早的竞争,也不会抛出异常!

*/

public class Test2 {

public static void main(String[] args) {

//自定义线程池! 工作ThreadPoolExecutor

ExecutorService threadPool=new ThreadPoolExecutor(

2,

5,

3,

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
img

文末

我将这三次阿里面试的题目全部分专题整理出来,并附带上详细的答案解析,生成了一份PDF文档

  • 第一个要分享给大家的就是算法和数据结构

网易严选Java开发三面面经:HashMap+JVM+索引+消息队列

  • 第二个就是数据库的高频知识点与性能优化

网易严选Java开发三面面经:HashMap+JVM+索引+消息队列

  • 第三个则是并发编程(72个知识点学习)

网易严选Java开发三面面经:HashMap+JVM+索引+消息队列

  • 最后一个是各大JAVA架构专题的面试点+解析+我的一些学习的书籍资料

网易严选Java开发三面面经:HashMap+JVM+索引+消息队列

还有更多的Redis、MySQL、JVM、Kafka、微服务、Spring全家桶等学习笔记这里就不一一列举出来

[外链图片转存中…(img-PyhPkcdi-1711608914009)]

  • 最后一个是各大JAVA架构专题的面试点+解析+我的一些学习的书籍资料

[外链图片转存中…(img-jTqPkZwV-1711608914009)]

还有更多的Redis、MySQL、JVM、Kafka、微服务、Spring全家桶等学习笔记这里就不一一列举出来

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值