首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
JUC系列
订阅
wefashe
更多收藏集
微信扫码分享
微信
新浪微博
QQ
13篇文章 · 0订阅
ThreadLocal的介绍+经典应用场景
什么是ThreadLocal ThreadLocal又叫做线程局部变量,全称thread local variable,它的使用场合主要是为了解决多线程中因为数据并发产生不一致的问题。ThreadLo
千呼万唤始出来:JUC灵魂AQS终于来了
synchronized 关键字是JDK官方人员用C++代码写的,在JDK6以前是重量级锁。Java大牛 Doug Lea对 synchronized 性能不满意就自己写了个JUC,以此来显著提升并发性能,本文要讲的就是JUC并发包下的 AbstractQueuedSynchro...
JAVA多线程(JUC)基础学习
synchronized 不需要用户去手动释放锁,synchronized 代码执行完后系统会自动让线程释放对锁的占用。 ReentrantLock 则需要用户去手动释放锁,如果没有手动释放锁,就可能导致死锁现象。一般通过lock()和unlock()方法配合try/final…
并发艺术(三)预热篇,来聊聊JUC下的并发工具包
Doug Lea大师为我们提供了一些在不使用(无感知)synchronized、lock的特殊场景下的一些并发工具,希望看完这些,能为小伙伴们在以后的工作中有点点帮助。 CountDown,倒数,Latch,锁。如果觉得不好理解,我们来看下构造函数: 可以看到,sync继承Ab…
突击并发编程JUC系列-ReentrantLock
锁是用来控制多个线程访问共享资源的方式,通过锁可以防止多个线程同时访问共享资源。在 Java1.5之前实现锁只能使用 synchronized关键字实现,但是synchronized隐式获取释放锁,在 1.5之后官方新增了 lock 接口也是用来实现锁的功能,,它具备与sync…
【初识】-JUC·Executor框架
多线程和并发这两个东西真的是向往已久,总是有一种神秘的感觉,想去探索一波,又担心水平不够无法驾驭。想以读书笔记的方式来写,但是又觉得缺少自己的一些思考;但是在没有足够并发编程经验的情况下又没法去写出很深刻的东西,毕竟没有踩过坑。所以在阅读spring源码的同时,也想抽点时间来看…
终于搞懂了JUC中的AQS😼
AQS提供了一个框架来实现阻塞锁和依赖于先进先出(FIFO)等待队列的相关同步器(信号量、事件等),是实现 ReentrantLock、CountDownLatch、Semaphore、FutureTask 等类的基础核心,对应于java.util.concurrent.loc…
面试:为了进阿里,又把并发CAS(Compare and Swap)实现重新精读一遍
1. 什么是乐观锁与悲观锁? 总是假设最坏的情况,每次读取数据的时候都默认其他线程会更改数据,因此需要进行加锁操作,当其他线程想要访问数据时,都需要阻塞挂起。悲观锁的实现: Java里面的同步synchronized关键字的实现。 乐观锁,其实就是一种思想,总是认为不会产生并发…
Java 经典面试题:聊一聊 JUC 下的 CopyOnWriteArrayList
ArrayList 是我们常用的工具类之一,但是在多线程的情况下,ArrayList 作为共享变量时,并不是线程安全的。主要有以下两个原因: CopyOnWriteArrayList 也是 JUC 下面的一个并发容器类。不知道你发现没有,但凡你常用的集合类,在 JUC 下基本上…
一文看懂JUC之AQS机制
为了解决原子性的问题,Java加入了锁机制,同时保证了可见性和顺序性。JDK1.5的并发包中新增了Lock接口以及相关实现类来实现锁功能,比synchronized更加灵活,开发者可根据实际的场景选择相应的实现类。本文注重讲解其不同衍生类的使用场景以及其内部AQS的原理。并发问…