10 2020 档案
摘要:同步机制 Synchronization 画了一个简易的Java内存模型 在JVM中,主内存是公共区域,每个线程有自己独立的工作内存,所以就会有可见性的问题(两个线程同时从主内存拿到变量n到自己的工作内存,一个线程对其更改完放回主内存,是否会通知到另一个线程) synchronized 关键字 是同
阅读全文
摘要:java线程的中断,不同于操作系统层面的中断,不是立刻将线程的行动中止,而是设置一种标识位,然后被其他调用方判断并进行处理 线程中断相关操作,在Thread类中操作 线程的中断位默认为false interrupt(); //设置一个线程的中断位为true static interrupted();
阅读全文
摘要:Condition 如图,java.util.concurrent.locks包下,与AQS同级 主要方法就是 await() :使当前持有锁的线程进入等待 (实际上是加入到Condition维护的一个等待队列,然后挂起) signal() : 唤醒等待队列头节点的线程 并加入到阻塞队列去排队抢锁
阅读全文
摘要:先画个大致的假类图 主要的类都在这里,核心就是ReentrantLock的内部类 Sync, FairSync NonfairSync 是Sync的公平锁 非公平锁的实现 Sync继承于AbstractQueueSynchronizer(AQS) 核心功能也都在这 先来分析AQS AQS的核心思想就
阅读全文

浙公网安备 33010602011771号