次面试事故面试官:你看过哪些源码?我:都挺熟悉的面试官:对hashMap了解程度怎么样?面试官:那你能讲讲 HashMap的实现原理吗?面试官:HashMap什么时候会进行 rehash?面试官:结合源码说说 HashMap在高并发场景中为什么会出现死循环?我:…我:抱歉…面试官:嗯。面试官:… 把 ...
分类:
编程语言 时间:
2020-02-04 10:24:07
阅读次数:
98
共享锁(S锁):又称为读锁,可以查看但无法修改和删除的一种数据锁。如果事务T对数据A加上共享锁后,则其他事务只能对A再加共享锁,不能加排它锁。获准共享锁的事务只能读数据,不能修改数据。 共享锁下其它用户可以并发读取,查询数据。但不能修改,增加,删除数据。资源共享. 排它锁(X锁):又称为写锁、独占锁 ...
分类:
其他好文 时间:
2020-02-03 18:48:25
阅读次数:
81
这几天在升级.NET CORE版本,结果发现坑太大了,最后还是退级了。。原因是作为长期支持版本的3.1居然一大堆bug 官方没有解决。。 查询了国内官方的基本没人讨论过EF怎么加悲观锁,很是蛋疼,去谷歌搜了一圈,把资料搬回来了。 废话不多说,一般来说EF是用不了排他锁的,也就是悲观锁,但是可以用曲线 ...
分类:
其他好文 时间:
2020-02-03 09:45:44
阅读次数:
523
本人曾接手过一些很奇怪的代码,基本到处都是是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
基础知识 __基础知识之一:锁的类型__ __ 锁就那么几个,只是根据特性,分为不同的类型 __ 锁的概念 锁的三个概念 类型一:公平锁/非公平锁 公平锁:ReentrantLock(构造为公平) 非公平锁:Synchronized,ReentrantLock(构造为非公平) 类型二:乐观锁/悲观锁 ...
分类:
编程语言 时间:
2020-01-28 21:09:10
阅读次数:
82
常用概念线程安全停止线程守护线程多线程通讯锁Synchornized悲观锁乐观锁共享锁/独占锁读写锁的机制死锁LockReentrantLockConditionCountDownLatchCyclicBarrier信号量SemaphoreThreadLocal高并发线程安全与不安全的类不安全的sp... ...
分类:
编程语言 时间:
2020-01-28 12:26:58
阅读次数:
74
锁类型 锁根据其特性能够划分出各种各样的锁类型,该文主要介绍以下锁的作用及特性 1. 乐观锁/悲观锁 2. 独享锁/共享锁 3. 互斥锁/读写锁 4. 可重入锁 5. 公平锁/非公平锁 6. 分段锁 7. 偏向锁/轻量级锁/重量级锁 8. 自旋锁 乐观锁/悲观锁 乐观锁与悲观锁并不是特指某两种类型的 ...
分类:
编程语言 时间:
2020-01-24 17:17:42
阅读次数:
96
Java 锁分类 Java 中的锁有很多,可以按照不同的功能、种类进行分类,下面是我对 Java 中一些常用锁的分类,包括一些基本的概述 从线程是否需要对资源加锁可以分为 悲观锁 和 乐观锁 从资源已被锁定,线程是否阻塞可以分为 自旋锁 从多个线程并发访问资源,也就是 Synchronized 可以 ...
分类:
其他好文 时间:
2020-01-16 14:24:22
阅读次数:
204
实验环境:mysql5.6 存储引擎:innoDB 我们在操作数据库的时候,可能会由于并发问题而引起的数据的不一致性(数据冲突) 乐观锁 乐观锁不是数据库自带的,需要我们自己去实现。乐观锁是指操作数据库时(更新操作),想法很乐观,认为这次的操作不会导致冲突,在操作数据时,并不进行任何其他的特殊处理( ...
分类:
数据库 时间:
2020-01-15 23:11:26
阅读次数:
101