预备知识 CAS机制 1. 是什么 参考附录3 CAS 是项乐观锁技术,当多个线程尝试使用 CAS 同时更新同一个变量时,只有其中一个线程能更新变量的值,而其它线程都失败,失败的线程并 ,而是被告知这次竞争中失败,并可以再次尝试。 CAS 操作包含三个操作数 —— 内存位置(V)、预期原值(A)和新 ...
分类:
其他好文 时间:
2020-02-07 13:01:28
阅读次数:
54
次面试事故面试官:你看过哪些源码?我:都挺熟悉的面试官:对hashMap了解程度怎么样?面试官:那你能讲讲 HashMap的实现原理吗?面试官:HashMap什么时候会进行 rehash?面试官:结合源码说说 HashMap在高并发场景中为什么会出现死循环?我:…我:抱歉…面试官:嗯。面试官:… 把 ...
分类:
编程语言 时间:
2020-02-04 10:24:07
阅读次数:
98
共享锁(S锁):又称为读锁,可以查看但无法修改和删除的一种数据锁。如果事务T对数据A加上共享锁后,则其他事务只能对A再加共享锁,不能加排它锁。获准共享锁的事务只能读数据,不能修改数据。 共享锁下其它用户可以并发读取,查询数据。但不能修改,增加,删除数据。资源共享. 排它锁(X锁):又称为写锁、独占锁 ...
分类:
其他好文 时间:
2020-02-03 18:48:25
阅读次数:
81
Redis实现分布式锁 1.锁的处理 单应用中使用锁:单进程多线程 synchroize , Lock 分布式应用中使用的锁:多进程 2.分布式锁的实现方式 数据库的乐观锁 基于zookeeper的分布式锁 基于redis的分布式锁 3.分布式锁的注意事项 互斥性:在任意时刻,只有一个客户能持有锁 ...
分类:
其他好文 时间:
2020-02-01 10:45:42
阅读次数:
65
本人曾接手过一些很奇怪的代码,基本到处都是是volatile和硬加锁,说是为了安全,就不怕死锁和性能太差吗?其实我压根不想改这种东西了,既然能过code review那么说明什么问题了?我不会让自己成为这类人。 乐观锁和悲观锁 简单解释就是,悲观锁认为在一个线程使用数据的时候,一定会有别的线程来修改 ...
分类:
编程语言 时间:
2020-01-30 22:46:51
阅读次数:
94
公平锁/非公平锁 可重入锁 独享锁/共享锁 互斥锁/读写锁 乐观锁/悲观锁(实现秒杀的一种解决方案) (select * from product p where p.type=’xxxxx’ for update) 分段锁 偏向锁/轻量级锁/重量级锁 自旋锁 这些分类并不是全是指锁的状态,有的指锁 ...
分类:
编程语言 时间:
2020-01-30 21:13:57
阅读次数:
64
事务命令: multi 开启事务,此时输入的命令会入队FIFO。 exec 依次执行队列中的命令,即使遇到执行错误的命令,也不会影响其他命令,redis没有事务回滚机制。 discard 放弃事务 watch CAS乐观锁,用法是在multi命令之前执行,监控某个key值,如果在命令输入完成后执行e ...
分类:
其他好文 时间:
2020-01-29 18:11:26
阅读次数:
88
基础知识 __基础知识之一:锁的类型__ __ 锁就那么几个,只是根据特性,分为不同的类型 __ 锁的概念 锁的三个概念 类型一:公平锁/非公平锁 公平锁:ReentrantLock(构造为公平) 非公平锁:Synchronized,ReentrantLock(构造为非公平) 类型二:乐观锁/悲观锁 ...
分类:
编程语言 时间:
2020-01-28 21:09:10
阅读次数:
82
常用概念线程安全停止线程守护线程多线程通讯锁Synchornized悲观锁乐观锁共享锁/独占锁读写锁的机制死锁LockReentrantLockConditionCountDownLatchCyclicBarrier信号量SemaphoreThreadLocal高并发线程安全与不安全的类不安全的sp... ...
分类:
编程语言 时间:
2020-01-28 12:26:58
阅读次数:
74
近日疫情看起来十分不容乐观,希望武汉的同胞能坚强挺过这一关,不要有那么多人在2020离开我们。我十分相信,终有一天,这段混乱的日子将会过去!把握机遇,迎接挑战,愿君灼灼千里目,终有一日天光破!武汉加油!!! A.首先对于战略进行总结——活得清楚才能活得好 1.如何快速进入状态 远离手机,放歌 2.做 ...
分类:
其他好文 时间:
2020-01-25 23:25:07
阅读次数:
73