CountDownLatch、Semaphore(信号量)和ReentrantReadWriteLock.ReadLock(读锁)都采用AbstractOwnableSynchronizer中共享排队的方式实现。 关于AbstractQueuedSynchronizer中的独占锁和共享锁,请参考Re ...
分类:
其他好文 时间:
2018-01-22 16:09:23
阅读次数:
157
锁 MyISAM 只支持表锁 读锁演示 Session 1 读锁 其它session可以读不可写 Session 1 锁等待时间设置 Session 2 查询数据 不影响 Session 2 更新数据 Session 1 查看进程 Session 1 释放锁 Session 2 获得锁 立即更新数据 ...
分类:
数据库 时间:
2018-01-20 12:36:56
阅读次数:
225
在MySQL中的行级锁,表级锁,页级锁中介绍过,行级锁是Mysql中锁定粒度最细的一种锁,行级锁能大大减少数据库操作的冲突。行级锁分为共享锁和排他锁两种,本文将详细介绍共享锁及排他锁的概念、使用方式及注意事项等。 共享锁(Share Lock) 共享锁又称读锁,是读取操作创建的锁。其他用户可以并发读 ...
分类:
数据库 时间:
2018-01-17 00:52:48
阅读次数:
167
MySQL 表锁和行锁机制 行锁变表锁,是福还是坑?如果你不清楚MySQL加锁的原理,你会被它整的很惨!不知坑在何方?没事,我来给你们标记几个坑。遇到了可别乱踩。通过本章内容,带你学习MySQL的行锁,表锁,两种锁的优缺点,行锁变表锁的原因,以及开发中需要注意的事项。还在等啥?经验等你来拿! MyS ...
分类:
数据库 时间:
2018-01-09 23:17:17
阅读次数:
295
悲观锁与乐观锁: 悲观锁:顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。 乐观锁:顾名思义,就是很乐观,每 ...
分类:
数据库 时间:
2018-01-06 14:29:44
阅读次数:
213
悲观锁(Pessimistic Lock), 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。 乐观锁(Op ...
分类:
数据库 时间:
2017-12-28 23:28:39
阅读次数:
221
1. Semaphore Semaphore和ReentrantReadWriteLock.ReadLock(读锁)都采用AbstractOwnableSynchronizer中共享排队的方式实现 关于AbstractQueuedSynchronizer中的独占锁和共享锁,请参考ReentrantL ...
分类:
其他好文 时间:
2017-12-25 15:01:28
阅读次数:
160
第一节synchronized同步方法目录 1.1方法内的变量为线程安全的 1.2实例变量非线程安全 1.3多个对象多个锁 1.4synchronized方法与锁对象 1.5脏读 1.6synchronized锁重入 1.7出现异常,锁自动释放 1.8同步不具有继承性 1.1方法内的变量为线程安全的 ...
分类:
编程语言 时间:
2017-12-15 18:53:17
阅读次数:
159
核心知识点: 1.表锁和行级锁代表着锁的级别;读锁和写锁代表锁定真实类型。 2.读锁属于共享锁,共享同一资源,互不干扰;写锁属于排他锁,为了安全起见,写锁会阻塞其他的读锁和写锁。 3.表锁的开销最小,行级锁的开销最大。 4.使用表锁不用考虑存储引擎,行级锁是由存储引擎实现的,而不是由MySQL服务器 ...
分类:
数据库 时间:
2017-12-14 22:50:38
阅读次数:
188
1. MySQL 的架构介绍 1. MySQL 的内部架构 连接层 服务层 引擎层 存储层 2. 查看MySQL存储引擎 : 查看默认的存储引擎 2.1 MyISAM 和 InnoDB 比较 3. SQL优化步骤 观察,至少跑一天,看看生产的慢SQL情况; 开启慢查询日志,设置阈值,比如超过5秒钟的 ...
分类:
数据库 时间:
2017-12-05 00:56:31
阅读次数:
235