多线程超神目录以及100%有你不会的原理和面试题

一、Thread基础

CSDN:https://blog.csdn.net/ctwctw/article/details/116455457

微信公众号:https://mp.weixin.qq.com/s/YbZmM1OhJoc-Id_btaDRbA

包含如下考点:

  • 什么是进程,什么是线程?
  • 什么是线程的切换?
  • 单核CPU设定为多线程有意义吗?
  • 线程数是不是越大越好?怎么合理设置?
    • 追问:我怎么知道等待时间和计算时间是多少?
  • 创建线程的方法
  • 线程有哪几种状态?
  • 聊聊线程的打断interrupt
  • 如何停止一个线程?
  • 线程之间怎么进行通讯?
  • 聊聊线程可见性?
    • 缓存行是啥?有啥用?
  • 聊聊线程有序性?

二、AbstractExecutorService

CSDN:线程池的鼻祖AbstractExecutorService模板模式真香(上)

微信公众号:线程池的鼻祖AbstractExecutorService模板模式真香(上)

包含如下考点:

  • Runnable和Callable的区别?
  • 线程池的类图知道吗?看过有哪些核心类吗?类关系是怎样的?
  • 一直用的ThreadPoolExecutor真的是线程池的顶级入口吗?
  • submit和execute的区别?
  • submit(Runnable r)是怎么带返回值的?
  • submit是怎么吞掉异常信息的?
  • 线程池完美的采取了模板方法设计模式你看到了吗?
  • shutdown和shutdownNow都属于ThreadPoolExecutor吗?有啥区别?

CSDN:线程池的鼻祖AbstractExecutorService模板模式真香(下)

微信公众号:线程池的鼻祖AbstractExecutorService模板模式真香(下)

包含如下考点:

  • 比如滴滴打车,你同时下单给快车、滴滴打车、优享、礼橙专车,肯定是多线程异步去执行的任务,其中一个接单后就自动取消其他车型的派单,怎么实现? (invokeAny)
  • 线程池里的invokeAny和invokeAll啥区别?
  • invokeAll原理是啥?用到了哪种设计模式?(模板模式)
  • invokeAll怎么取消的任务执行?中途报错是取消所有任务执行吗?
  • 取消任务方法怎么取消已经执行完成了的任务的?回滚吗?(是个坑,因为没处理已经执行完的任务)
  • invokeAny的ExecutorCompletionService采取了什么设计模式?(装饰者模式)
  • invokeAny是干嘛的?他能只得到一个结果然后返回取消其他任务,怎么做到的?会优先获得哪个结果?

三、ThreadPoolExecutor

CSDN:ThreadPoolExecutor的核心参数以及线程池状态到底是咋玩的?

微信公众号:ThreadPoolExecutor的核心参数以及线程池状态到底是咋玩的?

包含如下考点:

  • 线程池的参数有哪些?分别代表啥意思?
  • 线程池是怎么创建线程的?
  • 任务拒绝策略有哪些?分别啥区别?
  • 线程池的完整流程是怎样的?
  • 线程池的状态都有哪些?怎么存储的?怎么计算的(如何获取到的状态变量?如何获取到的线程数?)?
  • 为什么用-1来表示运行中RUNNING状态?
  • new一个线程池,他的活跃线程数是多少?怎么计算的?
  • 线程池状态是怎么转换的?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

【原】编程界的小学生

没有打赏我依然会坚持。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值