首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
并发编程
醒言
创建于2024-04-06
订阅专栏
这里包含了锁、线程、线程池、并发数据结构等相关知识
等 1 人订阅
共43篇文章
创建于2024-04-06
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
二十三、ReentrantReadWriteLock之初识读锁加锁流程
ReentrantReadWriteLock之初识读锁加锁流程 读锁加锁的初步流程: 获取state值 如果有线程持有写锁,并且持有写锁的不是当前线程,进入AQS链表中排队 如果没有线程持有锁,或者持
二十二、ReentrantReadWriteLock之写锁释放流程
ReentrantReadWriteLock之写锁释放流程 流程概述: 判断当前线程是否持有锁,如果不持有,抛出异常 将state值-1,判断state值是否为0 如果不为0,锁释放流程结束 如果为0
二十一、ReentrantReadWriteLock之写锁加锁流程
ReentrantReadWriteLock之写锁加锁流程 写锁的加锁流程: 获取state值的低16位值 判断是否有线程持有锁资源 如果有线程持有读锁,或者有线程持有写锁,但是不是当前线程,返回fa
二十、ReentrantReadWriteLock之读写锁基础
ReentrantReadWriteLock之读写锁基础 ReentrantReadWriteLock的读锁之间是不互斥的 ReentrantReadWriteLock的写锁之间,写锁与读锁之间是互斥
十九、condition之signalAll方法
本篇简要介绍了signalAll方法。主要展示了signalAll方法的源码,以及对源码中的核心功能做了注解
十八、condition之awaitNanos方法
awaitNanos方法 awaitNanos方法执行流程: 判断是否中断,如果被中断就抛异常 将线程放入condition链表中,并且释放锁资源 计算线程挂起的终止时间 判断线程是否在AQS链表中,
十七、condition之再看await方法
再看await方法 线程被唤醒后执行流程: 唤醒后,要先确认是signal唤醒还是中断唤醒,还是signal唤醒后被中断 确保当前线程的node已经在AQS链表中 执行acquireQueued方法,
十六、condition之signal方法
signal方法 signal方法只会唤醒condition链表中一个线程,其执行流程: 判断当前线程是否持有锁资源,如果没有抛出异常 脱离Condition单向链表 将Node状态从-2改成0 将N
十五、condition之初识await方法
初识await方法 调用await方法后,执行流程: 判断线程是否中断,如果中断抛出异常 将当前线程放入condition链表中,并且删除链表中状态不是CONDITION的节点 释放所有的锁资源,并且
十四、Condition简述
本篇简要介绍了Condition类,对其功能做了概括性的描述。它像是一个工具类,为lock锁提供了await和signal方法。
十三、ReentrantLock释放锁流程之unlock方法
本篇简要介绍了ReentrantLock的unlock方法。梳理了unlock方法释放锁的代码逻辑。
十二、ReentrantLock加锁流程之lockInterruptibly方法
本篇简要介绍了ReentrantLock类中的lockInterruptibly方法。梳理了方法中代码的逻辑。
十一、ReentrantLock加锁流程之cancelAcquire方法
本篇简要介绍了ReentrantLock类的cancelAcquire方法。主要对方法的代码流程做了梳理。
十、ReentrantLock加锁流程之tryLock方法
本篇简要介绍了ReentrantLock类中tryLock方法的加锁流程。对相关方法的代码的流程以及每行代码做了解析。
九、ReentrantLock加锁流程之lock方法
本篇简要介绍了ReentrantLock类中lock方法的加锁流程。其中包括了公平锁和非公平锁。主要讲述了代码流程。
八、AQS简述
本篇简要介绍了AQS内部结构,包括基本的成员变量和内部类,对其作用也做了简单的说明。除此之外,AQS的加锁过程也进行了阐述。
七、synchronized简述
本篇简要介绍了synchronized关键字,其中包括类锁与对象锁、synchronized优化、锁升级、synchronized锁原理以及重量级锁的相关C语言源码
六、锁的分类
本篇简要介绍了锁的分类,主要包括可重入锁、不可重入锁、乐观锁、悲观锁、公平锁、非公平锁、互斥锁、共享锁
五、并发编程三大特性之一:有序性
本篇简要介绍了并发编程三大特性之一的有序性。其中包含其概念、指令重排序问题、as-if-serial和happens-before语句和保证有序性方式
四、并发编程三大特性之一:可见性
本篇简要介绍了并发编程三大特性之一的可见性。其中包含可见性的概念,以及volatile和synchronized如何保证可见性的代码演示
下一页