一、MySQL的并发控制1、MySQL的并发控制在服务器层和存储引擎层完成锁:lock读锁:共享锁,可以几个用户同事读取,但不能写写锁:独占锁,锁粒度:锁表时锁表的范围(比如一个用户读前三行,一个用户写入最后一行)表级锁:innodb表级锁行级锁:myisa行级锁(锁控制复杂)死锁:..
分类:
数据库 时间:
2016-07-19 11:29:04
阅读次数:
229
读写锁ReentrantReadWriteLock读写锁:分为读锁和写锁,多个读锁不互斥,读锁与写锁互斥,这是由jvm自己控制的,你只要上好相应的锁即可。如果你的代码只读数据,可以很多人同时读,但不能同时写,那就上读锁;如果你的代码修改数据,只能有一个人在写,且不能同时读取,那就上..
分类:
其他好文 时间:
2016-07-06 18:37:17
阅读次数:
165
1.2 并发控制 1.2.1 读写锁 在处理并发读或写时,通过实现一个由两种类型的锁组成的锁系统来解决问题。这两种类型的锁通常被称为 共享锁(shared lock) 和 排它锁(exclusive lock),也叫读锁(read lock)和写锁(write lock)。 读锁是共享的,或者说是不 ...
分类:
数据库 时间:
2016-07-04 18:55:12
阅读次数:
211
MYSQL的锁 1. 共享锁,也就是读锁,可以通过select ... lock in share mode强制加锁,默认select语句是不加锁的 2. 排他锁,也就是写锁,可以通过select ... for update强制加写锁,默认情况下insert, update, delete语句加写 ...
分类:
数据库 时间:
2016-06-15 15:41:52
阅读次数:
204
读锁:所有的会话只能进行SELECT语句查询 写锁:只有当前会话能增删改查,其他会话无法任何操作 解锁: ...
分类:
数据库 时间:
2016-06-11 13:18:31
阅读次数:
224
MySQL锁机制相对其他数据库而言,MySQL的锁机制比较简单,其最显著的特点是不同的存储引擎支持不同的锁机制。执行操作时施加的锁的模式读锁:用户在读的时候施加的锁,为防止别人修改,但是用户可以读,还被称为共享锁写锁:独占锁,排它锁。其他用户不能读,不能写MySQL大致可..
分类:
数据库 时间:
2016-06-03 15:58:34
阅读次数:
463
互斥锁试图将想进入临界区的所有线程都阻塞住,但是有时候该临界区会涉及由这些线程共享的一个或多个数据的访问或更新,这时候我们就需要用到读写锁。系统读写锁的分配规则:
(1)只要有没有线程持有给定的读写锁用于写,那么任意数量的线程可以持有该读写锁用于读。(系统规定写锁优先,但是可以更改为读锁优先)
(2)仅当没有线程持有某个读写锁用于读或用于写时,才能分配该读写锁用于写。读写锁用于读称为共享锁,读写...
分类:
系统相关 时间:
2016-05-31 10:39:18
阅读次数:
272
Xtrabackup工具是一个对InnoDB做数据的备份工具,支持全亮备份和增量备份。不支持MyISAM数据库的备份但是Xtrabackup有一个工具innobackupex,它可以支持MyISAM,但是备份的时候是需要加锁(flushtableswithreadlock)读锁,(unlocktables)解读锁。使用innobackupex备份首先需..
分类:
数据库 时间:
2016-05-24 17:16:53
阅读次数:
250
众所周之,隔离级别分为:ReadUncommited:可以读取提交的记录ReadCommitted:仅读到提交的数据,会产生幻读现象RepeatableRead:对读取到的数据加锁,并对读取的范围加锁,不存在幻读现象Serializable:读加读锁写加写锁,串行执行情况一:主键(where主键=???)ReadCommit..
分类:
其他好文 时间:
2016-05-24 17:06:41
阅读次数:
207
ReentrantReadWriteLock基于AQS实现读写锁的同步:
1.利用共享模式实现读锁,独占模式实现写锁;
2.支持公平和非公平,非公平的情况下可能会出现读锁阻塞写锁的场景;
3.写锁阻塞写锁和读锁,读锁阻塞写锁;
4.写锁可以降级为读锁,读锁不能升级为写锁,只能先release再lock;
5.写锁支持condition条件;
6.读写锁都支持超时/中断lock;
...
分类:
其他好文 时间:
2016-05-18 18:02:27
阅读次数:
190