10 2020 档案

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