最新 最热

android9.0中SharedPreferences源码分析(一)

2.在获取 sp 值的时候 会一直判断标记mLoaded,变为 true,true表示从本地加载到内存成功,为false 则 UI 阻塞

2020-09-03
1

Concurrent.util中的一些类

分析:每次调用countDown(),数值减1,减到0,程序继续运行。上面new CountDownLatch(2)初始化数值为2.

2020-09-03
1

Java Synchronized关键字原理

https://blog.csdn.net/tongdanping/article/details/79647337

2020-08-19
1

java 多线程线程安全

在多线程中使用共享资源,对共享资源的操作不是原子性,就会导致数据不一致的情况 例如 : index ++ 操作 index ++ 实际上相当于 1. index + 1 2. 将结果赋值 index...

2020-08-04
1

你需要实现一个高效的缓存,它允许多个用户读,但只允许一个用户写,以此来保持它的完整性,你会怎样去实现它?

Lock读写锁机制可以实现! 在Java中Lock接口比synchronized块的优势是什么? Lock接口最大的优势是为读和写分别提供了锁。 1 import java.text.SimpleDateFormat; 2 import java.util.Date; 3 import java.util.......

2020-07-30
0

Java中Thread的join方法为什么能让线程插队?

但是在面试中就有可能经常会遇到这样的问题:在主线程中有两个子线程,如何能让着两个子线程能顺序的执行?答案自然是用 join 来使得两个线程顺序执行。说到这里,我前面也有类似的文章《让线程按顺序执行 8 种方法》,最近又...

2020-07-28
0

JUC学习之生产者和消费者

wait() 和 notify()方法的实现,这也是最简单最基础的实现,缓冲区满和为空时都调用wait()方法等待,当生产者生产了一个产品或者消费者消费了一个产品之后会唤醒所有线程。...

2020-07-21
0

被问到傻傻不懂synchronized底层原理

修饰实例方法,作用于当前实例加锁,进入同步代码前要获得当前实例的锁静态方法,作用于当前类对象加锁,进入同步代码前要获得当前类对象的锁修饰代码块,指定加锁对象,对给定对象加锁,进入同步代码库前要获得给定对象的锁。...

2020-06-15
1

什么是线程死锁?如何避免死锁?

多个线程同时被阻塞,它们中的一个或者全部都在等待某个资源被释放。由于线程被无限期地阻塞,因此程序不可能正常终止。

2020-06-08
0

Java并发编程系列20 | StampedLock源码解析

上一篇介绍了StampedLock存在的意义以及如何使用StampedLock,按照这个系列的风格大家也应该猜到了,这一篇就是StampedLock的源码分析。这里说明一点,本文的源码分析重点在于锁获取与释放过程中的状态改变,线程入队出队以...

2020-05-16
0