
并发编程
u010154380
这个作者很懒,什么都没留下…
展开
-
拜托,面试请不要再问我Redis分布式锁的实现原理【石杉的架构笔记】
拜托,面试请不要再问我Redis分布式锁的实现原理【石杉的架构笔记】目录一、写在前面二、Redisson实现Redis分布式锁的底层原理(1)加锁机制(2)锁互斥机制(3)watch dog自动延期机制(4)可重入加锁机制(5)锁释放机制(6)此种方案Redi...转载 2020-04-25 14:48:39 · 1696 阅读 · 1 评论 -
Java集合---ConcurrentHashMap原理分析
一、背景:线程不安全的HashMap 因为多线程环境下,使用Hashmap进行put操作会引起死循环,导致CPU利用率接近100%,所以在并发情况下不能使用HashMap。 效率低下的HashTable容器 HashTable容器使用synchronized来保证线程安全,但在线程竞争激烈的情况下HashTable的效率非常低下。因为当一个线程转载 2017-10-06 15:24:14 · 159 阅读 · 0 评论 -
高并发分布式系统中生成全局唯一订单号
高并发分布式系统中生成全局唯一订单号我了解的方案如下……………………………………………………………………1、 使用数据库自增Id优势:编码简单,无需考虑记录唯一标识的问题。缺陷:1) 在大表做水平分表时,就不能使用自增Id,因为Insert的记录插入到哪个分表依分表规则判定决定,若是自增Id,各个分表中Id就会重复,在做查询、删除时就会有异常。2)转载 2017-10-29 19:01:03 · 3757 阅读 · 1 评论 -
Java并发编程
Java并发编程:深入剖析ThreadLocal 想必很多朋友对ThreadLocal并不陌生,今天我们就来一起探讨下ThreadLocal的使用方法和实现原理。首先,本文先谈一下对ThreadLocal的理解,然后根据ThreadLocal类的源码分析了其实现原理和使用需要注意的地方,最后给出了两个应用场景。 以下是本文目录大纲: 一.对ThreadLocal的理解 二.转载 2017-10-21 23:04:05 · 141 阅读 · 0 评论 -
在 Java 中高效使用锁的技巧
在 Java 中高效使用锁的技巧--转载竞争锁是造成多线程应用程序性能瓶颈的主要原因区分竞争锁和非竞争锁对性能的影响非常重要。如果一个锁自始至终只被一个线程使用,那么 JVM 有能力优化它带来的绝大部分损耗。如果一个锁被多个线程使用过,但是在任意时刻,都只有一个线程尝试获取锁,那么它的开销要大一些。我们将以上两种锁称为非竞争锁。而对性能影响最严重的情况出现在多个线程同时尝试获取锁时。这转载 2017-11-15 19:14:22 · 315 阅读 · 0 评论 -
java多线程之:深入JVM锁机制2-Lock (转载)
java多线程之:深入JVM锁机制2-Lock (转载)前文(深入JVM锁机制-synchronized)分析了JVM中的synchronized实现,本文继续分析JVM中的另一种锁Lock的实现。与synchronized不同的是,Lock完全用Java写成,在java这个层面是无关JVM实现的。在 java.util.concurrent.locks包中有很多Lock的实现类,常用的有Reen...转载 2018-03-20 00:07:20 · 250 阅读 · 0 评论