java中的锁 Java锁的类别 java中的锁按照不同的类别可以有如下的分类: 乐观锁/悲观锁 独享锁/共享锁 互斥锁/读写锁 可重入锁 公平锁/非公平锁 分段锁 偏向锁/轻量级锁/重量级锁 自旋锁 乐观锁/悲观锁 独享锁/共享锁 互斥锁/读写锁 可重入锁 公平锁/非公平锁 分段锁 偏向锁/轻量级 ...
分类:
编程语言 时间:
2019-10-02 22:36:41
阅读次数:
105
1. 行级锁:共享锁(S)和排他锁(X) 共享锁:允许持锁事务读取一行,事务A持有S锁,事务B请求S锁时,会立即被赋予,若请求X锁,需等待释放S锁才可以拿; 排他锁:允许持锁事务更新或删除一行,事务A持有X锁,事务B请求S、X锁时,需等待释放X锁才可以拿; 2. 表级锁:意向锁(I)和自增锁 意向锁 ...
分类:
数据库 时间:
2019-10-01 18:20:33
阅读次数:
87
C++关于锁的总结(一) 线程中的锁分为两种, 互斥锁 和 共享锁 。 相关的头文件有 ,前者具有 操作,用于实现互斥功能,后者具有 操作,用于完成共享锁操作。 这里先讨论 这个类。 共享锁 如果需要使用共享锁,则需要使用到 这个类。具体讲解见 "这里" 该锁可用于保护被多个线程同时访问的共享数据。 ...
分类:
编程语言 时间:
2019-09-22 18:03:58
阅读次数:
140
转自链接:https://www.nowcoder.com/discuss/241930 1. synchronized的底层实现原理是什么 2. HashMap的扩容机制能讲解一下吗 3. mysql的binlog用过吗 4. final关键词修饰对象时,对象里面的属性能发生改变吗 5. 如何用R ...
分类:
其他好文 时间:
2019-09-02 19:30:29
阅读次数:
104
锁的分类 自旋锁: 线程状态及上下文切换消耗系统资源,当访问共享资源的时间短,频繁上下文切换不值得。jvm实现,使线程在没获得锁的时候,不被挂起,转而执行空循环,循环几次之后,如果还没能获得锁,则被挂起。 阻塞锁:阻塞锁改变了线程的运行状态,让线程进入阻塞状态进行等待,当获得相应的信号(唤醒或者时间 ...
分类:
编程语言 时间:
2019-09-01 10:57:54
阅读次数:
82
本文主要记录InnoDB存储引擎中锁的关键点,下篇文章通过实例确认加锁的范围。 InnoDB中的锁 1. 锁提供数据完整性和一致性 2. InnoDB行级锁:共享锁(S)和排他锁(X)。 为了支持多粒度锁定,InnoDB支持意向锁,该锁允许事务在行锁和表锁同时存在。包括意向共享锁(IS)和意向排他锁 ...
分类:
数据库 时间:
2019-08-24 18:37:51
阅读次数:
137
基于jdk1.8ReentrantLock源码分析,学习底层数据结构、算法、设计理念、进制转换、代码艺术、并发编程、独占共享锁的乐趣、公平锁非公平锁的竞争
分类:
其他好文 时间:
2019-08-15 17:33:09
阅读次数:
96
基于jdk1.8AQS源码分析,学习底层数据结构、算法、设计理念、进制转换、代码艺术、并发编程、独占共享锁的乐趣
分类:
其他好文 时间:
2019-08-09 09:21:13
阅读次数:
80
引言 大家在面试中有没遇到面试官问你下面六句Sql的区别呢 如果你能清楚的说出,这六句sql在不同的事务隔离级别下,是否加锁,加的是共享锁还是排他锁,是否存在间隙锁,那这篇文章就没有看的意义了。之所以写这篇文章是因为目前为止网上这方面的文章太片面,都只说了一半,且大多没指明隔离级别,以及where后 ...
分类:
数据库 时间:
2019-08-08 11:38:48
阅读次数:
136
以下内容转自 murphy_gb 博客 共享锁,又称为读锁,获得共享锁之后,可以查看但无法修改和删除数据。 排他锁,又称为写锁、独占锁,获得排他锁之后,既能读数据,又能修改数据。 为什么要加锁 很多人都知道,锁是用来解决并发问题的,那么什么是并发问题呢?并发情况下,不加锁会有什么问题呢? 拿生活中的 ...
分类:
数据库 时间:
2019-08-07 17:36:36
阅读次数:
96