自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 深入理解AQS的condition队列

上一篇讲了CLH队列,这一篇通过ArrayBlockingQueue的源码来讲以下condition队列

2024-08-21 00:03:46 568

原创 深入理解ThreadPoolExecutor(上):线程池的创建和运行

线程池是我们常用的一个工具,使用起来虽然比较简单,但是想弄清整个框架里面的各种逻辑和原理,还是比较不容易。我将用两篇文章来带大家深入理解线程池ThreadPoolExecutor,本文是上篇,将从线程池的创建和运行展开。线程池的创建主要讲线程池的结构,线程池的运行主要讲线程池的运行过程,比如啥时候创建worker,啥时候销毁worker,怎么获取任务等等。1.worker什么创建?

2024-08-18 19:56:12 1013

原创 深入理解ThreadPoolExecutor(下):线程池的关闭

上一篇文章讲了线程池的创建和启动,这一篇讲线程池的关闭。可能刚开始大家会觉得线程池的关闭很容易理解,不就是调用shutdown()或shutdownNow()方法,中断线程,不再接受任务,等任务执行完,工作线程数量为0时,线程池就关闭了吗。但是,仔细想想,还是会有些疑惑:1)中断线程时是怎么区分空闲线程和非空闲线程的呢?2)中断空闲线程是怎么中断的?3)中断非空闲线程是怎么中断的?如果一个线程正在执行任务,此时中断线程是真的将任务停止了吗?带着疑惑,我们来深入理解线程池的关闭。

2024-08-16 16:10:11 1034

原创 深入理解AQS的CLH队列

我们知道,AQS定义了两种队列,同步等待队列(CLH队列)和条件等待队列(CONDITION队列),在学习AQS的过程中对这两个队列总是有种雾蒙蒙的感觉,到底是怎么入队、阻塞、唤醒、出队的?到底是怎么保证并发安全的?

2024-07-29 05:12:04 783

原创 nodejs、npm、webpack、vue-cli入门及使用

作为一个后端开发,每次碰到前端项目(多半是后台管理)时都十分头疼,每次都要从头开始学习Node、npm、webpack、vue-cli,这次索性就把入门用到的相关知识和使用示例都整理出来。

2024-04-03 16:06:37 1150 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除