文章分类
Java基础
java基础
Map
算法
计算机原理
队列
AQS与同步锁
线程与线程池
IO与网络
java代理
jdbc及其扩展
单元化测试
读书笔记
《spring源码深度解读》
《深入理解JAVA虚拟机》
《MySQL是怎样运行的:从根上理解MySQL》
《Redis开发与运维》
《算法4》
《Java并发编程的艺术》
《Docker与容器云》
中间组件
数据库
大数据组件
分布式
缓存
消息组件
运维基础
技术实践
项目源码
com.alibaba.druid
jedis
commons-lang3
java.security
apache.httpclient
java.io
apache.commons.pool2
tomcat
apache.sshd
json
lombok.log4j2
mybatis
netflix.archius
前端知识
瞬间
相册
朋友圈
留言板
友情链接
沧海月明
解决了什么问题,做了什么优化
累计撰写
166
篇文章
累计创建
38
个标签
累计收到
1
条评论
栏目
文章分类
Java基础
java基础
Map
算法
计算机原理
队列
AQS与同步锁
线程与线程池
IO与网络
java代理
jdbc及其扩展
单元化测试
读书笔记
《spring源码深度解读》
《深入理解JAVA虚拟机》
《MySQL是怎样运行的:从根上理解MySQL》
《Redis开发与运维》
《算法4》
《Java并发编程的艺术》
《Docker与容器云》
中间组件
数据库
大数据组件
分布式
缓存
消息组件
运维基础
技术实践
项目源码
com.alibaba.druid
jedis
commons-lang3
java.security
apache.httpclient
java.io
apache.commons.pool2
tomcat
apache.sshd
json
lombok.log4j2
mybatis
netflix.archius
前端知识
瞬间
相册
朋友圈
留言板
友情链接
目 录
CONTENT
并发-沧海月明
以下是
并发
相关的文章
2024-10-23
CountDownLatch - 同步计数器
CountDownLatch的概念 CountDownLatch的作用很简单,就是一个或者一组线程在开始执行操作之前,必须要等到其他线程执行完才可以。例如等待学生考完收卷的老师。 源码分析 核心成员变量 private final Sync sync; 是一个基于AQS实现的同步器
2024-10-23
55
0
0
AQS与同步锁
2024-10-23
Condition
condition的概念和使用 condition用于实现线程之间的合作,执行Condition::awiat方法可以让某个线程进入condition等待状态,并等待其他线程释放Condition::signal信号。示例如下: public class ReentrantLockDemo {
2024-10-23
68
0
0
AQS与同步锁
2024-10-23
ReentrantLock
ReentrantLock的概念 ReentrantLock是一种基于AQS框架的应用实现,是JDK中的一种线程并发访问的同步手段,它的功能类似于synchronized是一种互斥锁,可以保证线程安全。相比synchronized,ReentrantLock具备以下特点: 可中断 可以设置超时时间
2024-10-23
71
0
0
AQS与同步锁
2024-10-23
AQS - 并发与锁
AQS概述 AQS(AbstractQueuedSynchronizer),所谓的AQS即是抽象的队列式的同步器,内部定义了很多锁相关的方法。AQS框架包括以下部分: countDownLatch:计数器 reentrantLock:锁 reentrantReadWriteLock:读写锁 cycl
2024-10-23
73
0
0
AQS与同步锁
2024-10-23
第五章 java中的锁
Lock接口综述 jdk提供了Lock接口,用于复写一些锁相关的逻辑。例如ReentrantLock 与Synchronized相比,Lock提供的功能包括: 尝试非阻塞地获取锁:synchronized一旦获取不到就处于阻塞状态 能被中断地获取锁 超时获取锁
2024-10-23
82
0
0
《Java并发编程的艺术》
2024-10-22
线程
线程与线程池的关系 线程是执行任务的最小单元,单个线程可以启停,从而执行任务。 线程是工厂中的工人, 工人可能自己有设计方法(自己写run方法),也可能使用图纸中的设计方法(任务中的run方法) 任务是工厂承接的设计任务,任务中包括图纸(run方法或call方法) 线程池是工厂,每过来一个任务,工厂
2024-10-22
79
0
0
线程与线程池
2024-10-22
第四章 java并发编程基础
再看线程 线程是操作系统调度的最小单元,一个进程可以有多个线程。线程各自拥有计数器、堆栈、局部变量。 线程并发的实质是处理器在不同的线程间高速切换。 线程优先级 线程优先级决定的是线程需要多或者少分配一些处理器资源(时间片) 可以通过如下逻辑设置优先级:
2024-10-22
56
0
0
《Java并发编程的艺术》
2024-10-21
第三章 Java内存模型
Java内存模型基础 并发编程的两个核心问题 需要分析的是:线程之间的如何通信,以及如何同步? 答:共享内存和消息传递。即要么线程间共享一块内存,进行隐式的通信,
2024-10-21
76
0
0
《Java并发编程的艺术》
2024-10-21
内存模型JVM与并发
内存模型JVM与并发 并发的三个概念 原子性:一个或多个操作要么全操作要么全不操作,不可分割 可见性:是指当多个线程访问同一个变量时,一个线程修改了这个变量的值,其他线程能够立即看得到修改的值。 有序性:程序执行的顺序按照代码的先后顺序执行 JVM模型 在Java虚拟机规范中试图定义一种Java内存
2024-10-21
70
0
0
计算机原理
2024-10-21
第二章 Java并发机制的底层原理
volatile的作用和原理 如果一个字段被声明成volatile,java线程内存模型确保所有线程看到这个变量的值一样的。 首先了解cpu和内存交互模型,可参考三级缓存部分。此外再理解几个术语: 内存屏障:本质是一组处理器指令,用于对内存操作的顺序限制 缓冲行:缓存行,缓存中可分配的最小存储单位
2024-10-21
74
0
0
《Java并发编程的艺术》
1
2
3
4
5