公平模式ReentrantLock实现原理 前面的文章研究了AbstractQueuedSynchronizer的独占锁和共享锁,有了前两篇文章的基础,就可以乘胜追击,看一下基于AbstractQueuedSynchronizer的并发类是如何实现的。 ReentrantLock显然是一种独占锁,首 ...
分类:
其他好文 时间:
2017-07-03 11:59:55
阅读次数:
163
我们知道mysql在曾经。存储引擎默认是MyISAM。可是随着对事务和并发的要求越来越高,便引入了InnoDB引擎。它具有支持事务安全等一系列特性。 InnoDB锁模式 InnoDB实现了两种类型的行锁。 共享锁(S):同意一个事务去读一行,阻止其它事务获得同样的数据集的排他锁。 排他锁(X):同意 ...
分类:
数据库 时间:
2017-06-28 23:07:52
阅读次数:
310
一、概述 1、定义 2、锁的分类 ①从对数据操作的类型(读\写)分 读锁(共享锁):针对同一份数据,多个读操作可以同时进行而不会互相影响。 写锁(排它锁):当前写操作没有完成前,它会阻断其他写锁和读锁。 ②从对数据操作的粒度分 表锁 行锁 二、三锁 1、表锁(偏读) 特点:偏向MyISM存储引擎,开 ...
分类:
数据库 时间:
2017-06-25 16:57:24
阅读次数:
215
01、DDL 数据定义语言 create alter drop truncate 02、DML 数据操作语言 insert delete update select 03、TCL 事务控制语言 commit rollback 04、DCL 数据控制语言 rovoke grant A(Atomicit ...
分类:
数据库 时间:
2017-06-22 23:02:18
阅读次数:
289
表级锁 MySQL表级锁分为读锁和写锁。 读锁 用法:LOCK TABLE table_name [ AS alias_name ] READ 释放锁使用UNLOCK tables.可以为表使用别名,如果一旦使用别名在使用的时候也必须采用别名。成功申请读锁的前提是当前没有线程对该表使用写锁,否则该语 ...
分类:
数据库 时间:
2017-06-18 18:10:37
阅读次数:
165
mysql锁机制分为表级锁和行级锁,本文就和大家分享一下我对mysql中行级锁中的共享锁与排他锁进行分享交流。 共享锁又称为读锁,简称S锁,顾名思义,共享锁就是多个事务对于同一数据可以共享一把锁,都能访问到数据,但是只能读不能修改。 排他锁又称为写锁,简称X锁,顾名思义,排他锁就是不能与其他所并存, ...
分类:
数据库 时间:
2017-06-18 18:07:07
阅读次数:
178
锁机制适用于高并发场景:高并发订单、秒杀…… apache压力测试 Mysql锁详解 语法 加锁:LOCK TABLE 表名1 READ|WRITE, 表名2 READ|WRITE .................. 解锁:UNLOCK TABLES Read:读锁|共享锁 : 所有的客户端只能读 ...
分类:
数据库 时间:
2017-06-16 21:16:42
阅读次数:
260
1. 事务里的写操作,四种隔离级别,都会加排他锁。 2. 事务里的读操作,前三种隔离级别,不会加锁,最后一种隔离级别,会加共享锁。 3. 上面的写、读操作,都是隐式加的锁。 可以自己显示对读操作进行加锁:SELECT ... LOCK IN SHARE MODE(对这行数据加共享锁);SELECT ...
分类:
数据库 时间:
2017-06-15 21:39:46
阅读次数:
167
概述:共享锁又称为读锁,简称S锁,顾名思义,共享锁就是多个事务对于同一数据可以共享一把锁,都能访问到数据,但是只能读不能修改。排他锁又称为写锁,简称X锁,顾名思义,排他锁就是不能与其他所并存,如一个事务获取了一个数据行的排他锁,其他事务就不能再获取该行的其他锁,包括共享锁和排他锁,但是获取排他锁的事... ...
分类:
数据库 时间:
2017-06-10 20:27:30
阅读次数:
222
前言 本节我们来讲讲并发中最常见的情况存在即更新,在并发中若未存在行记录则插入,此时未处理好极容易出现插入重复键情况,本文我们来介绍对并发中存在就更新行记录的七种方案并且我们来综合分析最合适的解决方案。 探讨存在就更新七种方案 首先我们来创建测试表 解决方案一(开启事务) 我们统一创建存储过程通过来 ...
分类:
数据库 时间:
2017-06-01 10:37:11
阅读次数:
284