上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 26 下一页
摘要: CAP理论 在分布式领域,有一个非常重要的理论叫做CAP理论。 C:Consistency(一致性) A:Availability(可用性) P:Partition tolerance(分区容错性) 在分布式领域中,是必须要保证分区容错性的,也就是必须要保证“P”,所以,我们只能保证CP或者AP。 阅读全文
posted @ 2020-04-29 14:48 IT路上的小白 阅读(860) 评论(0) 推荐(0) 编辑
摘要: 分布式锁简介: 分布式锁是控制分布式系统或不同系统之间共同访问共享资源的一种锁实现。 在集群架构中,多个JVM虚拟机之间为了保证数据的一致性 ,所以引进了分布式锁的的概念。 分布式锁的设计要求 1.在分布式系统环境下,一个方法在同一时间只能被一个机器的一个线程执行 2.高可用的获取锁与释放锁 3.高 阅读全文
posted @ 2020-04-29 13:47 IT路上的小白 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 1.线程模型基本介绍 目前存在的线程模型有: 传统阻塞 I/O 服务模型 Reactor 模式 2.根据 Reactor 的数量和处理资源池线程的数量不同, 有 3 种典型的实现 单 Reactor 单线程; 单 Reactor 多线程; 主从 Reactor 多线程 3.Netty 线程模式 (N 阅读全文
posted @ 2020-04-26 11:56 IT路上的小白 阅读(426) 评论(0) 推荐(0) 编辑
摘要: 偏向锁: 在线程获取偏向锁的时候, jvm会判断锁对象MarkWord里偏向线程的ID是否为当前线程ID。 如果是,则说明当前锁对象处于偏向状态。 如果不是,则jvm尝试CAS把对象的MarkWord的偏向线程ID设置为当前线程ID, 如果设置成功,那么对象偏向当前线程,并将当对象的锁标志位改为01 阅读全文
posted @ 2020-04-26 11:41 IT路上的小白 阅读(686) 评论(0) 推荐(0) 编辑
摘要: public class CASDemo { public static void main(String[] args){ AtomicInteger atomicInteger = new AtomicInteger(5); System.out.println(atomicInteger.co 阅读全文
posted @ 2020-04-21 15:34 IT路上的小白 阅读(318) 评论(0) 推荐(0) 编辑
摘要: 乐观锁与悲观锁是一种广义上的概念,体现了看待线程同步的不同角度,在Java和数据库中都有此概念对应的实际应用。1.乐观锁顾名思义,就是很乐观,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,可以使用版本号等机制。乐观锁适用于多读的应用类 阅读全文
posted @ 2020-04-21 14:37 IT路上的小白 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 独占锁:独占锁也叫排他锁,是指该锁一次只能被一个线程所持有。如果线程T对数据A加上排他锁后,则其他线程不能再对A加任何类型的锁。获得排它锁的线程即能读数据又能修改数据。 ReentrantLock 和 synchronized 都是独占锁 共享锁:共享锁是指该锁可被多个线程所持有。如果线程T对数据A 阅读全文
posted @ 2020-04-21 14:12 IT路上的小白 阅读(1989) 评论(0) 推荐(0) 编辑
摘要: 自旋锁(spinlock):是指当一个线程在获取锁的时候,如果锁已经被其它线程获取,那么该线程将循环等待,然后不断的判断锁是否能够被成功获取,直到获取到锁才会退出循环。获取锁的线程一直处于活跃状态,但是并没有执行任何有效的任务,如果长时间使用这种锁会造成系统负载很大,耗费性能,阻止了其他线程的运行和 阅读全文
posted @ 2020-04-21 13:55 IT路上的小白 阅读(869) 评论(0) 推荐(0) 编辑
摘要: 可重入锁,也叫递归锁 可重入锁:指的是同一个线程外层函数获得锁之后,内层递归函数仍然能获取该锁的代码,在同一个线程在外层方法获取锁的时候,进入内层方法会自动获取锁 种类:ReentrantLock 和 synchronized 都是可重入锁 作用:避免死锁 注意点:用了锁,一定要记得开锁和关锁,lo 阅读全文
posted @ 2020-04-21 13:16 IT路上的小白 阅读(470) 评论(0) 推荐(0) 编辑
摘要: 公平锁与非公平锁 # 公平锁与非公平锁公平锁:多个线程按照申请锁的顺序来获取锁,先来后到,在并发环境中,每个线程在获取锁时会先查看此锁维护的等待队列,如果为空,或者当前线程等待队列的第一个,就占有锁,否则就会加入到等待队列,以后会按照FIFO的规则从队列中取。 非公平锁:多个线程获取锁的顺序并不是按 阅读全文
posted @ 2020-04-21 11:19 IT路上的小白 阅读(641) 评论(0) 推荐(0) 编辑
上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 26 下一页