concurrent
Liberal_夜不黑
qq交流群:634383854
展开
-
concurrent-1-入门基础
入门基础线程中断 //线程中断 //Thread.currentThread().interrupt() : 中断线程,标志中断 //Thread.currentThread().isInterrupted :判断是否有中断标志 //Thread.interrupted() :判断是否有中断标志,并去掉中断标志 public static void mai原创 2017-05-22 23:36:39 · 262 阅读 · 0 评论 -
concurrent-4-AQS-ReentrantLock-Lock
AbstractQueuedSynchronizer原创 2017-10-19 00:34:17 · 162 阅读 · 0 评论 -
concurrent-7-AQS-CountDownLatch,CyclicBarrier
CountDownLatchCountDownLatch#tryAcquireShared protected int tryAcquireShared(int acquires) { return (getState() == 0) ? 1 : -1; //获取状态是不是达到条件 }CountDownLatch#tryReleaseSharedpro原创 2017-10-29 19:26:26 · 288 阅读 · 0 评论 -
concurrent-6-AQS-Semaphore
Semaphore#acquire public void acquire() throws InterruptedException { sync.acquireSharedInterruptibly(1); //请求资源 }AQS#acquireSharedInterruptibly public final void acquireSharedInterruptib原创 2017-10-28 22:57:43 · 277 阅读 · 0 评论 -
concurrent-5-AQS-ReentrantReadWriteLock
ReentrantReadWriteLock#WriteLock#lockpublic void lock() { sync.acquire(1); //尝试获取资源 }ReentrantReadWriteLock#tryAcquire protected final boolean tryAcquire(int acquires) {原创 2017-10-27 00:06:31 · 194 阅读 · 0 评论 -
concurrent-4-锁
锁锁的设计 1.减少锁持有时间 减少锁的持有时间有助于降低锁冲突的可能性,进而提升系统的并发能力。 2.减小锁粒度 缩小锁定对象的范围,从而减少锁冲突的可能性,进而提高系统的并发能力。 3.读写分离锁 在读多,写少的环境下用读写锁能大大减少线程等待时间。 4.锁粗化原创 2017-06-11 21:39:26 · 131 阅读 · 0 评论 -
concurrent-3-线程复用
Executor框架线程池 newFixedThreadPool() //线程池中的线程数量始终不变,新任务提交,有空闲线程立马执行,否则会将任务加入到任务队列,有线程空闲时,便处理在任务队列中的任务。 newSingleThreadExecutor() //线程池中的线程数量为1,新任务提交,线程空闲则立马执行,否则会将任务加入到任务队列,待线程空闲时,便处理在任务队原创 2017-05-28 22:17:49 · 202 阅读 · 0 评论 -
concurrent-5-实现demo
Demo1 join //1.现在有T1、T2、T3三个线程,你怎样保证T2在T1执行完后执行,T3在T2执行完后执行 public static void main(String[] args) { Thread t1=new Thread( ()->{ try {原创 2017-06-14 20:48:54 · 140 阅读 · 0 评论 -
concurrent-2-同步控制
重入锁 ReentrantLock重入锁示例 lock : 获取锁资源 unLock : 释放锁资源//重入锁示例public class TestReentrantLock { public static ReentrantLock lock=new ReentrantLock(); //重入锁 public static int cou原创 2017-05-26 22:28:33 · 216 阅读 · 0 评论 -
concurrent-5-AQS-Condition
等待await public final void await() throws InterruptedException { if (Thread.interrupted()) //响应中断 throw new InterruptedException(); Node node = addConditionWaite原创 2017-10-21 20:04:55 · 227 阅读 · 0 评论