一、无锁算法 CAS(比较与交换,Compare and swap) 是一种有名的无锁算法。无锁编程,即不使用锁的情况下实现多线程之间的变量同步,也就是在没有线程被阻塞的情况...
在读很多并发文章中,会提及各种各样锁如公平锁,乐观锁等等,这篇文章介绍各种锁的分类。介绍的内容如下: 公平锁/非公平锁 可重入锁 独享锁/共享锁 互斥锁/读写锁 乐观锁/悲观...
ReentrantLock的加锁方法Lock()提供了无条件地轮询获取锁的方式,lockInterruptibly()提供了可中断的锁获取方式。这两个方法的区别在哪里呢?通过...
1、synchronized 把代码块声明为synchronized,有两个重要后果,通常是指该代码具有原子性(atomicity)和可见性(visibility)。 1.1...
写在前面,如果面对复杂的动画效果你一筹莫展,不烦看看这篇文章:LottieAndroid使用详解及源码解析—轻而易举实现各种复杂动画 该文章是结合我司产品手机迅雷做的一个全面...
Android音频开发之音频基本概念 音频采集一般使用 AudioRecod或者 MediaRecord 音频采集的来源是什么? MediaRecorder.AudioSou...
正则表达式,一个十分古老而又强大的文本处理工具,仅仅用一段非常简短的表达式语句,便能够快速实现一个非常复杂的业务逻辑。熟练地掌握正则表达式的话,能够使你的开发效率得到极大的提...
如果你也是一名程序员,那么相信从你第一天学习编程起,就会被灌输很多关于软件开发中的法则,它们有些来自于课堂,有些来自于书本,还有些则来自于工作中前辈的教导。我们总是努力地去学...