- 博客(19)
- 收藏
- 关注
转载 面试必备之乐观锁与悲观锁
何谓悲观锁与乐观锁 乐观锁对应于生活中乐观的人总是想着事情往好的方向发展,悲观锁对应于生活中悲观的人总是想着事情往坏的方向发展。这两种人各有优缺点,不能不以场景而定说一种人好于另外一种人。 悲观锁 总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转让给其它...
2019-03-16 22:21:29
238
转载 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
2819
转载 CountDownLatch/CyclicBarrier/Semaphore
转载自: CountDownLatch:https://blog.youkuaiyun.com/qq_29479041/article/details/85275159 CyclicBarrier:https://blog.youkuaiyun.com/qq_29479041/article/details/85284012 Semaphore:https://blog.youkuaiyun.com/qq_29479041/arti...
2019-03-16 20:54:39
264
转载 并发编程之并发工具类CountDownLatch详解
转发自:https://blog.youkuaiyun.com/qq_29479041/article/details/85275159 CountDownLatch代码: //对一个文本中的所有数字先行求和,再把所有行汇总 package com.roocon.thread.tb4; import java.io.BufferedReader; import java.io.FileReader; imp...
2019-03-16 20:08:02
253
转载 并发编程之深入解析Condition源码
转载自:https://blog.youkuaiyun.com/qq_29479041/article/details/85095746
2019-03-16 14:54:56
321
原创 使用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
281
原创 Condition和ReentrantLock使用
三个线程交替执行ABCABCABC A线程打印A B线程打印B C线程打印C package 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
702
原创 并发编程之读写锁ReentrantReadWriteLock的锁降级
锁降级 锁降级是指写锁降级为读锁。 在写锁没有释放的时候,获取到读锁,再释放写锁 锁升级(ReentrantReadWriteLock是不支持的。) 把读锁升级为写锁 在读锁没有释放的时候,获取到写锁,再释放读锁 package com.roocon.thread.ta5; import java.util.HashMap; import java.util.Map; import java.u...
2019-03-16 14:31:43
913
转载 细读ReentrantReadWriteLock源码
转载自:https://blog.youkuaiyun.com/yuhongye111/article/details/39055531
2019-03-16 14:23:26
217
原创 读写锁认识与原理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
239
原创 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
314
转载 自旋锁、阻塞锁、可重入锁、悲观锁、乐观锁、读写锁、偏向所、轻量级锁、重量级锁、锁膨胀、对象锁和类锁
转自:https://blog.youkuaiyun.com/a314773862/article/details/54095819
2019-03-16 13:53:42
315
转载 九、并发编程之volatile原理与使用
转载自:https://blog.youkuaiyun.com/qq_29479041/article/details/84824853
2019-03-16 13:46:45
261
原创 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
1041
1
原创 14-synchronized保证线程安全的原理(理论层面)
在看synchronized之前,我们首先来看内置锁,什么是内置锁呢?就是说,Java中每一个对象都可以用作同步的锁,那么,这些锁就被称之为内置锁. 其实synchronized的原理其实就是加了锁,内置锁和互斥锁所决定的。每个对象都有锁,而这些锁都是互斥的,一个进来之后,另外的就不能进来了,因此就可以保证线程的安全性。 ...
2019-03-16 11:42:43
592
原创 使用synchronized实现生产者消费者模型案例
生产者 使用synchronized实现生产者消费者模型案例 生产者代码: public class Produce implements Runnable { Product product; public Produce(Product product){ this.product=product; } @Override public...
2019-03-16 11:31:29
588
1
转载 Java中的多线程你只要看这一篇就够了
进程(Process) 进程(Thread) 进程与线程区别 数据字典 线程的状态 线程处理机制 基本线程类 Thread类相关方法 高级多线程控制类 1.ThreadLocal类 2.原子类 3.Lock类 4.容器类 5.管理类 6.JAVA DEMO 进程(Process) 定义 进程是具有独立功能的程序关于某个数据集合上的一次运...
2019-03-16 09:26:10
207
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅