随笔分类 -  juc

Java并发编程
摘要:前言 AQS,英文全称叫 AbstractQueueSynchronizer,中文全称叫抽象队列同步器 一、先从字节跳动及其他大厂面试题说起 二、前置知识 2.1 公平锁和非公平锁 2.2 可重入锁 2.3 LockSupport 2.4 自旋锁 2.5 数据结构之链表 2.6 设计模式之模板设计模 阅读全文
posted @ 2022-05-05 15:27 没有你哪有我 阅读(97) 评论(0) 推荐(0) 编辑
摘要:一、原始构成 synchronized是关键字属于JVM层面: monitorenter(底层是通过monitor对象来完成,其实wait/notify等方法也依赖于monitor对象,只有在同步块或方法中才能调用wait/notify等方法) monitorexit Lock是具体类(java.u 阅读全文
posted @ 2021-07-06 09:31 没有你哪有我 阅读(80) 评论(0) 推荐(0) 编辑
摘要:ABA问题 在没有加版本号之前,CAS会出现ABA问题:当一个值原本已经被当前线程读取到,准备通过CAS(自旋锁)将其修改的时候,突然这个时候由于网络卡顿、线程中断等一系列状况的原因,中途来了另外一个线程,将当前线程所期望的值修改成其他的值,然后又修改回来,这期间当前线程没有察觉,看了下此时的值跟预 阅读全文
posted @ 2021-07-05 21:40 没有你哪有我 阅读(795) 评论(0) 推荐(0) 编辑
摘要:一、CountDownLatch 从以下版本开始: 1.5 适用场景:当我们需要等待其他所有业务都完成后,才能做一些业务操作的时候,可以用CountDownLatch来实现(类似倒计时) 常用方法: 1、构造器 2、countDown() 减少锁存器的计数,如果计数达到零,释放所有等待的线程。 3、 阅读全文
posted @ 2021-07-04 13:49 没有你哪有我 阅读(245) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示