首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
程序员陌影
掘友等级
后端
good good study day day up
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
4
文章 4
沸点 0
赞
4
返回
|
搜索文章
最新
热门
Java并发编程之ReentrantReadWriteLock(三)
加锁失败 如果尝试加锁失败了,就会执行doAcquireShared方法,源码如下: 这个方法和ReentrantLock的acquireQueued方法类似。addWaiter方法就是把当前线程封装
Java并发编程之ReentrantReadWriteLock番外篇
前言 上面是尝试加读锁流程的代码,既然这篇是番外篇,那就不按正常流程一点一点去分析了,着重拿出一部分来分析一下。ReentrantReadWriteLock和ReentrantLock相比,除了多了读
Java并发编程之ReentrantReadWriteLock(二)
书接上文Java并发编程之ReentrantReadWriteLock(一),这篇继续介绍加锁的第三步 尝试加锁 这个方法主体部分是一个死循环,分为四部分分别进行介绍 第一部分 首先获取独占锁的数量,
Java并发编程之ReentrantReadWriteLock(一)
简介 前面介绍的ReentrantLock,只要有线程加锁了其他线程就只能进行等待,但是如果多个线程都只是读取数据并没有修改数据的话,完全可以不用加锁。而ReentrantReadWriteLock就
Java并发编程之StampedLock
简介 StampedLock是jdk1.8中新增的一个类,是一种根据时间戳实现的锁机制,主要作用是为了提升读操作的性能。基本原理是加读锁、写锁都会生成一个时间戳,而在读取数据之前可以通过验证时间戳的方
Java并发编程之Condition(二)
前言 上篇文章Java并发编程之Condition(一)介绍了await方法的执行流程,需要着重关注的有以下几点: 如果先调用了interrupt方法,然后调用await会直接抛出异常; await方
Java并发编程之Condition(一)
基本使用 首先通过ReentrantLock来获取一个Condition对象,然后在获取到锁之后调用await()方法进行等待,当被其他线程调用signal唤醒或者interrupt中断才有机会继续向
Java并发编程之ReentrantLock源码(四)
前言 前面三篇文章介绍了ReentrantLock的加锁和释放锁的原理,这篇文章通过源码来了解下ReentrantLock的一些特性是如何实现的,主要包括以下三点: 可重入 可中断 公平锁 可重入 其
Java并发编程之ReentrantLock源码(三)
前言 前面两篇文章Java并发编程之ReentrantLock源码(一)和Java并发编程之ReentrantLock源码(二)介绍了ReentrantLock加锁成功和失败的流程,这篇文章主要介绍释
Java并发编程之ReentrantLock源码(二)
获取锁失败 书接上文Java并发编程之ReentrantLock源码(一) 当前线程尝试获取锁失败,然后创建了一个节点添加到了队尾, 然后方法继续执行acquireQueued(addWaiter(N
下一页
个人成就
文章被点赞
15
文章被阅读
6,397
掘力值
723
关注了
10
关注者
11
收藏集
1
关注标签
10
加入于
2019-10-15