首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Java并发编程
舒一笑不秃头
创建于2023-05-26
订阅专栏
Java并发编程,记录自己由弱变强!
等 2 人订阅
共38篇文章
创建于2023-05-26
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
ArrayBlockingQueue中方法的基本使用
生产者生产数据 使用add()方法向队列中添加元素,在队列满的时候会抛出异常。 ArrayBlockingQueue是基于数组实现,初始化完成后长度是不可变的,在其构造方法中也都是有参构造,初始化对象
Java中的阻塞队列
阻塞队列的基本概念 JUC阻塞队列的存取方法分析 常用的存取方法都是来自于JUC包下的BlockQueue 生产者存储的方法分析 add(E) offer(E) boolean offer(E e,
深入ReentrantReadWriteLock
ReentrantReadWriteLock出现的原因 首先synchronized和ReentrantLock都是互斥锁,一个线程在获取锁资源之后另一个线程只能等待 假设有一种情况是读多写少,并且确
Condition的awaitNanos&signalAll方法分析
Condition的awaitNanos&signalAll方法分析 awaitNanos(long nanosTimeout)方法加入了阻塞实时间,时间到了便可以自动唤醒,添加到AQS队列中 doS
ConditionObject的await方法分析
ConditionObject的await方法分析 判断当前线程是否中断,中断直接抛出非法监视器状态异常 要是没有中断则通过addConditionWaiter()方法将该节点加入到Condition
Java中关于ConditionObject的signal()方法的分析
代码块的展示 isHeldExclusively()这个仅持有锁资源的方法,在ReentrantLock中重写进行判断,要是没有持有锁资源那么会返回false,就会出现直接抛异常IllegalMoni
Java中关于ConditionObject的分析
在Java中,ConditionObject是Java.util.concurrent.locks包中的一个类,它实现了Condition接口。Condition接口提供了类似于传统线程同步中的等待/
Java中ReentrantLock释放锁代码解析
释放锁源码展示 源码分析解释释放锁源码展示 源码分析解释释放锁源码展示 源码分析解释释放锁源码展示 源码分析解释。
Java中ReentrantLock中部分加锁取消节点源码分析
cancelAcquire()取消节点的源码分析 lockInterruptibly()方法,死等的方法
Java中ReentrantLock中tryLock()方法加锁分析
无参tryLock()方法分析,有参tryLock()方法分析, 对涉及的方法进行分析。细节标注在截图中。
Java中ReentrantLock中 lock.lock(),加锁源码分析
ReentrantLock中 lock.lock(),加锁源码分析 lock方法 ReentrantLock类中的静态内部类中的Sync继承AQS,调用Sync内部的抽象方法lock(); 查看关于l
Java中ReentrantLock的概念深入理解
ReentrantLock和Synchronized的区别 核心区别 效率区别 底层实现区别 功能性的区别 什么是AQS AQS的特点 AQS中提供了一个由volatile修饰的,采用CAS方式修改的
Java中synchronized锁的深入理解
使用范围 synchronized使用上用于同步方法或者同步代码块 在锁实现上是基于对象去实现 使用中用于对static修饰的便是class类锁 使用中用于对非static修饰的便是当前对象锁 syn
Java中常见锁的分类及概念分析
基于线程对同一把锁的获取情况分类 可重入锁 不可重入锁 基于对共享资源的访问策略 乐观锁 加粗样式 - 悲观锁 根据线程获取锁的先后顺序 公平锁 非公平锁 Java中提供的ReentrantLock,
并发编程的三大特性之可见性
有序性的概念 Java文件在被cpu执行前会进行编译成cpu可以执行的指令,为了提高cpu的执行效率会对其中的一些语句进行重排序。 Java指令最终是乱序执行的目的是为了提高cpu的执行效率,发挥cp
并发编程的三大特性之可见性
可见性 CPU计算数据由于从内存中读取数据过慢,于是在CPU内部建立了L1,L2,L3三级缓存来直接让CPU从自身的缓存中读取数据。从而提高计算速度。 每一个线程有自己单独的CPU三级缓存,遵循MES
发编程的三大特性之原子性
原子性 这个定义是一种规定,描述了Java中的理想就是为了能实现一个操作不能分割,不可中断,一个线程在执行的时候,另一个线程不会去影响他。 Java中的原子性可以理解为多线程操作临界资源,预期的结果和
Java线程中的常用方法
获取当前线程的方法 为线程设置名称 为线程设置优先级,优先级有10个级别,从1-10,能影响cpu调用线程的级别,但是不能决定。 线程的让步 使用该方法之后线程当前状态为就绪状态 线程的休眠 线程的抢