- 博客(3)
- 收藏
- 关注
原创 Java线程Hotspot线程Linux线程源码穿透
首先不妨先看一副图通常我们在Java开发中使用线程无非就是使用Thread类提供的一些API,比如new Thread()、Thread.start() 等等方法。那么对于Linux操作系统而言是没有线程概念的,线程的概念是在glibc(操作系统API的一部分)层抽象出来的实现,是提供给Linux系统开发者使用的。目的是控制进程资源的使用。所以这里对应的线程/进程实体在如下三层都有体现: 那么我们的JVM如何完成不同层线程之间的联系呢?首先glibc层的线程对象本来就是基于内核层的进程实体task_stru
2022-09-05 11:01:56 178 1
原创 Reentrant源码分析
此文由ReentrantLock入口,深入AQS源码,探究ReentrantLock是怎么利用AQS来实现互斥锁以及可重入的功能。 Lock //JUC顶级锁接口,定义锁的抽象功能 public interface Lock { //上锁接口,上锁过程中不可响应中断,不成功则等待,直到上锁成功为止 void lock(); //上锁接口,上锁过程中可以响应中断,如果发生中断,那么抛出异常 void lockInterruptibly() throws In
2022-02-25 16:24:30 258
原创 Java线程池原理剖析
类结构体系 Executor |–ExecutorService |–AbstractExecutorService |–ThreadPoolExecutor |–ScheduledThreadPoolExecutor 说明: Executor : 定义了执行器接口,用于执行任务 AbstractExecutorService : 定了为执行器执行而服务的一堆接口 ThreadPoolExecutor : 使用模板方法实现了一堆为执行器执行服务的一堆接口实现 Scheduled
2022-02-24 10:33:02 350
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人