摘要:
20180903典型常见问题总结 分布式锁的3种实现方式 秒杀系统架构分析与实战 常见问题整理目录 20190915问题总结 20180917问题总结 20180915问题总结二 20190223-问题总结 20190305-问题 20190312问题总结 从深圳回武汉的面试感想以及一些面试题 阅读全文
posted @ 2019-03-20 12:08
白露~
阅读(164)
评论(0)
推荐(0)
|
摘要:
20180903典型常见问题总结 分布式锁的3种实现方式 秒杀系统架构分析与实战 常见问题整理目录 20190915问题总结 20180917问题总结 20180915问题总结二 20190223-问题总结 20190305-问题 20190312问题总结 从深圳回武汉的面试感想以及一些面试题 阅读全文
posted @ 2019-03-20 12:08
白露~
阅读(164)
评论(0)
推荐(0)
摘要:
一、概述 谈到并发,不得不谈ReentrantLock;而谈到ReentrantLock,不得不谈AbstractQueuedSynchronizer(AQS)! 类如其名,抽象的队列式的同步器,AQS定义了一套多线程访问共享资源的同步器框架,许多同步类实现都依赖于它,如常用的ReentrantLo 阅读全文
posted @ 2019-03-20 12:05
白露~
阅读(397)
评论(0)
推荐(0)
摘要:
本篇继续学习AQS中的另外一个内容-Condition。想必学过java的都知道Object.wait和Object.notify,同时也应该知晓这两个方法的使用离不开synchronized关键字。 synchronized是jvm级别提供的同步原语,它的实现机制隐藏在jvm实现中。作为Lock系 阅读全文
posted @ 2019-03-20 12:04
白露~
阅读(875)
评论(0)
推荐(0)
摘要:
1.volatile最适用一个线程写,多个线程读的场合。 如果有多个线程并发写操作,仍然需要使用锁或者线程安全的容器或者原子变量来代替。(摘自Netty权威指南) 疑问:如果只是赋值的原子操作,是否可以多个线程写?(答案:可以,但是一般没有这样的必要,即没有这样的应用场景) 最经典的使用案例: vo 阅读全文
posted @ 2019-03-20 00:34
白露~
阅读(294)
评论(0)
推荐(0)
摘要:
volatile的适用场景 把代码块声明为 synchronized,有两个重要后果,通常是指该代码具有 原子性(atomicity)和 可见性(visibility)。 原子性意味着个时刻,只有一个线程能够执行一段代码,这段代码通过一个monitor object保护。从而防止多个线程在更新共享状 阅读全文
posted @ 2019-03-20 00:25
白露~
阅读(310)
评论(0)
推荐(0)
|