多线程
yetaoii
这个作者很懒,什么都没留下…
展开
-
java原子类详解
java原子类详解什么原子类原子类是具有原子性的类,原子性的意思是对于一组操作,要么全部执行成功,要么全部执行失败,不能只有其中某几个执行成功。原子类作用作用和锁有类似之处,是为了保证并发情况下的线程安全。相对于锁的优势粒度更细原子变量可以把竞争范围缩小到变量级别,通常情况下锁的粒度也大于原子变量的粒度效率更高除了在高并发之外,使用原子类的效率往往比使用同步互斥锁的效率更高,因为原子类底层利用了CAS,不会阻塞线程。原子类种类在JDK中J.U.C包下提供了种类丰富的原子类,原创 2020-07-21 17:16:56 · 6243 阅读 · 0 评论 -
java线程池详解及源码解析
线程池详解文章目录线程池详解线程池参数常用的六种线程池FixedThreadPoolCachedThreadPoolScheduledThreadPoolSingleThreadExecutorSingleThreadScheduledExecutor几种线程池参数对比ForkJoinPool核心问题拒绝策略拒绝时机AbortPolicyDiscardPolicyDiscardOldestPolicyCallerRunsPolicy常用几种阻塞队列LinkedBlockingQueueSynchronou原创 2020-07-16 16:49:05 · 228 阅读 · 0 评论 -
基于OKhttp下载工具YTDownloader
YTDownloader最近对网络下载这一块比较感兴趣,所以专门整理和写了一个简易的下载库–YTDownload特性基于Retrofit和Okhttp3来请求网络基于RxJava,支持链式调用支持断点续传,默认开启支持串行、和并行批量下载支持进度回调自动校验服务器文件是否更改(前提,url对应文件还未下好)集成在app的build.gradle中添加依赖 //仓库m...原创 2020-03-21 01:24:10 · 859 阅读 · 0 评论 -
理解Java锁机制
理解Java锁机制文章目录理解Java锁机制1. synchronizedsynchronized的几种使用方式synchronized的实现原理Monitor2. lock3. volatile关键字3. 乐观锁-悲观锁(主线程锁不锁住同步资源)CAS机制问题悲观锁4. 自旋锁和适应性自旋锁(均不阻塞线程,是否有自旋次数限制)5. 公平锁-非公平锁(是否允许插队)6. 可重入锁-非可重入锁(是...原创 2020-03-13 15:48:38 · 212 阅读 · 0 评论 -
深入理解java锁机制
深入理解java锁机制文章目录深入理解java锁机制前言1. 乐观锁 VS 悲观锁2. 自旋锁 VS 适应性自旋锁3. 无锁 VS 偏向锁 VS 轻量级锁 VS 重量级锁Java对象头Monitor无锁偏向锁轻量级锁重量级锁4. 公平锁 VS 非公平锁5. 可重入锁 VS 非可重入锁6. 独享锁 VS 共享锁结语前言Java提供了种类丰富的锁,每种锁因其特性的不同,在适当的场景下能够展现出非...转载 2020-03-12 14:26:22 · 341 阅读 · 0 评论 -
生产消费模型-lock和synchronized实现
生产消费模型-lock和synchronized实现lock实现AB循环输出同一Lock锁双条件分别控制AB线程public class TestThread { public static void main(String[] args) { //new出可重入lock锁 Lock lock = new ReentrantLock(); ...原创 2020-03-11 11:14:27 · 141 阅读 · 0 评论 -
ThreadLocal-从源码看设计
ThreadLocal源码分析一、ThreadLocal定义ThreadLocal提供线程局部变量。这些变量与它们在每个线程中访问,每个线程有自己的、独立初始化的变量副本,实例通常是私有的类中希望将状态与线程关联的静态字段。即在每个显示访问当前实例对象,都会获取各自线程对应的值,不会相互影响,不存在线程安全问题,也不会影响程序执行的性能。由于在各自线程存储对应的值,所以内存消耗会比直接使用实际...原创 2020-03-10 16:24:00 · 126 阅读 · 0 评论