
JUC
文章平均质量分 82
java 多线程
酆都男子
这个作者很懒,什么都没留下…
展开
-
Java并发编程-07 LockSupport详解
LockSupport为什么LockSupport也是核心基础类? AQS框架借助于两个类:Unsafe(提供CAS操作)和LockSupport(提供park/unpark操作)LockSupport是锁中的基础,是提供锁机制的工具类为什么LockSupport也是核心基础类? AQS框架借助于两个类:Unsafe(提供CAS操作)和LockSupport(提供park/unpark操作)...原创 2022-03-23 16:24:01 · 559 阅读 · 0 评论 -
Java并发编程-06 CAS, Unsafe和原子类详解
线程安全的实现方法有哪些?互斥同步:synchornized和ReentrantLock非阻塞同步:CAS,AtomicXXX类无同步方案:栈封闭,Thread Local ,可重入代码什么是CAS?CAS(Compare-And-Swap)比较兑换CompareAndSwap(期望值,目标值)接收变量对象,如果变量对象是所期望的值,就交换目标值给该变量CAS操作具有原子性,所以一般不会加锁CAS属于乐观锁,synchronize属于悲观锁CAS使用示例,结合AtomicInt原创 2022-03-21 14:19:00 · 170 阅读 · 0 评论 -
Java并发编程-05 final
所有的final修饰的字段都是编译期常量吗?final int i = 0 这是一个编译期常量而 Random r = new Random(); final int k = r.nextInt(); 这个就是一个非编译期常量如何理解private所修饰的方法是隐式的final?final 修饰的方法是无法被继承的 也是无法被更改的 , private在继承过程中无法被继承,因此就是隐式的final说说final类型的类如何拓展?比如String是final类型,我们想写个MyStrin原创 2022-03-18 16:41:11 · 525 阅读 · 0 评论 -
Java并发编程-03 Synchronized
Synchronized可以作用在哪里? 分别通过对象锁和类锁进行举例。对象锁作用在代码块(这里可以手动指定对象,可以使this,也开始是自定义的锁)public class SynchronizedObjectLock implements Runnable { static SynchronizedObjectLock instence = new SynchronizedObjectLock(); //自定义的锁 Object block1 = new Object();原创 2022-03-17 20:22:29 · 680 阅读 · 0 评论 -
JUC编程02-线程基础
线程有哪几种状态?新建状态可运行状态阻塞状态(等待cpu时间片,也可能在运行状态)无限期等待状态进入方法退出方法没有设置 Timeout 参数的 Object.wait() 方法Object.notify() / Object.notifyAll()没有设置 Timeout 参数的 Thread.join() 方法被调用的线程执行完毕LockSupport.park() 方法限期等待状态进入方法退出方法Thread.slee原创 2022-03-04 14:52:11 · 70 阅读 · 0 评论 -
JUC编程01-理论基础
多线程的出现是要解决什么问题为了合理利用cpu的高性能并发出现问题的三大要素cpu高速缓存引起的可见性(一个线程对共享变量的修改,另外一个线程能够立刻看到。)分时复用引起的原子性(经典银行转账问题)重排序引起的有序性...原创 2022-03-04 10:36:40 · 3814 阅读 · 0 评论