- 博客(19)
- 收藏
- 关注
转载 面试必备之乐观锁与悲观锁
何谓悲观锁与乐观锁乐观锁对应于生活中乐观的人总是想着事情往好的方向发展,悲观锁对应于生活中悲观的人总是想着事情往坏的方向发展。这两种人各有优缺点,不能不以场景而定说一种人好于另外一种人。悲观锁总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转让给其它...
2019-03-16 22:21:29
213
转载 java各种Queue关系和应用场景
说到数据结构,我们大概可以列出这么几个:数组,链表,栈,队列,集合,哈希表。其中 队列 作为一个常用的数据结构,在Java中也有各种形式的实现。顶级接口为java.util.queue.java.util包中,java.util.concurrent包中有多种实现。其简易类图如下:java中并发Queue种类与各自API特点以及使用场景!https://www.cnblogs.com/h...
2019-03-16 22:19:50
2792
转载 CountDownLatch/CyclicBarrier/Semaphore
转载自:CountDownLatch:https://blog.youkuaiyun.com/qq_29479041/article/details/85275159CyclicBarrier:https://blog.youkuaiyun.com/qq_29479041/article/details/85284012Semaphore:https://blog.youkuaiyun.com/qq_29479041/arti...
2019-03-16 20:54:39
247
转载 并发编程之并发工具类CountDownLatch详解
转发自:https://blog.youkuaiyun.com/qq_29479041/article/details/85275159CountDownLatch代码://对一个文本中的所有数字先行求和,再把所有行汇总package com.roocon.thread.tb4;import java.io.BufferedReader;import java.io.FileReader;imp...
2019-03-16 20:08:02
235
转载 并发编程之深入解析Condition源码
转载自:https://blog.youkuaiyun.com/qq_29479041/article/details/85095746
2019-03-16 14:54:56
299
原创 使用Condition重写waitnotify生产者消费者模型案例
//天猫商品package com.roocon.thread.ta7;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;public class Tmall2 { pr...
2019-03-16 14:49:05
260
原创 Condition和ReentrantLock使用
三个线程交替执行ABCABCABCA线程打印AB线程打印BC线程打印Cpackage com.roocon.thread.ta9;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantL...
2019-03-16 14:43:45
678
原创 并发编程之读写锁ReentrantReadWriteLock的锁降级
锁降级锁降级是指写锁降级为读锁。在写锁没有释放的时候,获取到读锁,再释放写锁锁升级(ReentrantReadWriteLock是不支持的。)把读锁升级为写锁在读锁没有释放的时候,获取到写锁,再释放读锁package com.roocon.thread.ta5;import java.util.HashMap;import java.util.Map;import java.u...
2019-03-16 14:31:43
886
转载 细读ReentrantReadWriteLock源码
转载自:https://blog.youkuaiyun.com/yuhongye111/article/details/39055531
2019-03-16 14:23:26
194
原创 读写锁认识与原理ReentrantReadWriteLock
package com.roocon.thread.ta3;import java.util.HashMap;import java.util.Map;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReadWriteLock;import java.util.concurrent.loc...
2019-03-16 14:17:55
222
原创 23并发编程之使用AQS重写自己的锁
package com.roocon.thread.ta4;import java.util.concurrent.TimeUnit;import java.util.concurrent.locks.AbstractQueuedSynchronizer;import java.util.concurrent.locks.Condition;import java.util.concur...
2019-03-16 13:57:12
291
转载 自旋锁、阻塞锁、可重入锁、悲观锁、乐观锁、读写锁、偏向所、轻量级锁、重量级锁、锁膨胀、对象锁和类锁
转自:https://blog.youkuaiyun.com/a314773862/article/details/54095819
2019-03-16 13:53:42
300
转载 九、并发编程之volatile原理与使用
转载自:https://blog.youkuaiyun.com/qq_29479041/article/details/84824853
2019-03-16 13:46:45
244
原创 15-synchronized保证线程安全的原理(jvm层面)
synchronized用于代码块代码:public int xx () { // monitorenter synchronized (Sequence.class) { if(value > 0) { return value; } else { return -1; } } // monitorexit ...
2019-03-16 12:13:25
1006
1
原创 14-synchronized保证线程安全的原理(理论层面)
在看synchronized之前,我们首先来看内置锁,什么是内置锁呢?就是说,Java中每一个对象都可以用作同步的锁,那么,这些锁就被称之为内置锁.其实synchronized的原理其实就是加了锁,内置锁和互斥锁所决定的。每个对象都有锁,而这些锁都是互斥的,一个进来之后,另外的就不能进来了,因此就可以保证线程的安全性。...
2019-03-16 11:42:43
571
原创 使用synchronized实现生产者消费者模型案例
生产者使用synchronized实现生产者消费者模型案例生产者代码:public class Produce implements Runnable { Product product; public Produce(Product product){ this.product=product; } @Override public...
2019-03-16 11:31:29
554
1
转载 Java中的多线程你只要看这一篇就够了
进程(Process)进程(Thread) 进程与线程区别数据字典 线程的状态 线程处理机制 基本线程类Thread类相关方法高级多线程控制类1.ThreadLocal类2.原子类3.Lock类 4.容器类5.管理类 6.JAVA DEMO进程(Process)定义进程是具有独立功能的程序关于某个数据集合上的一次运...
2019-03-16 09:26:10
193
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人