并发编程
爱吃花生酱的猴子
就爱花生酱!
展开
-
Java并发包中锁原理剖析(二)
1). 独占锁ReentrantLock ReentrantLock 拥有内部抽象类Sync ,Sync 直接继承自AQS,它的子类NonfairSync 和FairSync 分别实现了非公平锁和公平锁策略。AQS 的state状态值代表的是线程获取锁的重入次数,默认情况下,state为0 表示当前锁没有被任何线程持有,当有线程第一次获取锁时会使用CAS设置state的值为1 成功后会将锁持...原创 2019-01-17 17:05:16 · 217 阅读 · 0 评论 -
Java并发包中锁原理剖析(一)
1. LockSupport 工具类LockSupport 主要作用是挂起和唤醒线程,该工具类是创建锁和其他同步类的基础。LockSupport 类与每个使用它的线程都会关联一个许可证,在默认情况下调用LockSupport类的方法是不持有许可证的。LockSupport是使用Unsafe类实现的。下面介绍LockSupport中的几个主要函数。viod park() 方法如果调用p...原创 2019-01-14 17:30:03 · 509 阅读 · 0 评论 -
Java 并发包中线程池ThreadPoolExecutor原理探究
介绍: 线程池主要解决两个问题:一是当执行大量异步任务时线程池能够提供较好的性能在不使用线程池时,每当需要执行异步任务时直接 new 个线程来运行,而线程的创建和销毁是 要开销的 线程池里面的线程是可复用的 ,不需要每次执行异步任务时都重新创建和销毁线程。二是线程 也提供了 种资源限制和管理的手段,比如可以限制线程的个数,动态新增线程等 每个ThreadPoo!Executor也保留了一些基本...原创 2019-02-28 10:21:27 · 311 阅读 · 0 评论