条件变量额作用;使用条件变量:3个方法,条件变量的类型,需要初始化;示例代码;Wait方法;Signal方法和Broadcast方法:适用场景,通知的即时性;示例代码2
分类:
其他好文 时间:
2019-01-27 10:55:10
阅读次数:
207
共享锁和排他锁 1.共享锁: 读锁、X锁,在查询时生效,多个事务在查询同一个数据时共享一把锁,但是不能作用于修改数据,在select语句后添加 lock in share mode ; 2.排他锁:在insert、update和delete时生效,获取排他锁的事务在修改一条数据时,其他锁不能存在于这 ...
分类:
数据库 时间:
2019-01-18 12:26:48
阅读次数:
210
悲观锁(Pessimistic Lock), 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。 乐观锁(Op ...
分类:
其他好文 时间:
2019-01-13 23:26:16
阅读次数:
273
数据库的快照隔离级别(Snapshot Isolation) 转自:https://www.cnblogs.com/ljhdo/p/5037033.html 隔离级别定义事务处理数据读取操作的隔离程度,在SQL Server中,隔离级别只会影响读操作申请的共享锁(Shared Lock),而不会影响 ...
分类:
数据库 时间:
2019-01-10 19:31:38
阅读次数:
174
一、是什么 可以一次执行多个命令,本质是一组命令集合。一个事务中的所有命令都会序列化,按顺序的串行化执行而不被其他命令插入,不许加塞。一个队列中,一次性、顺序性、排他性的执行一系列命令。 二、事务常用命令 1、discard:取消事务,放弃执行事务块内的所有命令。 2、exec:执行所有事务块内的命 ...
分类:
其他好文 时间:
2019-01-06 18:08:34
阅读次数:
194
MySQL里面的锁可以分为:全局锁,表级锁,行级锁。 一、全局锁:对整个数据库实例加锁。MySQL提供加全局读锁的方法:Flush tables with read lock(FTWRL)这个命令可以使整个库处于只读状态。使用该命令之后,数据更新语句、数据定义语句和更新类事务的提交语句等操作都会被阻 ...
分类:
数据库 时间:
2019-01-05 00:14:27
阅读次数:
196
例子: CREATE TABLE `t20` ( `id` int(11) NOT NULL, `c` int(11) DEFAULT NULL, `d` int(11) DEFAULT NULL, PRIMARY KEY (`id`), KEY `c` (`c`) ) ENGINE=InnoDB; ...
分类:
其他好文 时间:
2019-01-04 18:01:35
阅读次数:
217
一、相关名词|--表级锁(锁定整个表)|--页级锁(锁定一页)|--行级锁(锁定一行)|--共享锁(S锁,MyISAM 叫做读锁)|--排他锁(X锁,MyISAM 叫做写锁)|--悲观锁(抽象性,不真实存在这个锁)|--乐观锁(抽象性,不真实存在这个锁) 二、InnoDB与MyISAMMysql 在 ...
分类:
数据库 时间:
2018-12-19 13:07:36
阅读次数:
181
Java并发编程系列: Java 并发编程:核心理论 Java并发编程:Synchronized及其实现原理 Java并发编程:Synchronized底层优化(轻量级锁、偏向锁) Java 并发编程:线程间的协作(wait/notify/sleep/yield/join) Java 并发编程:vo ...
分类:
编程语言 时间:
2018-12-11 21:45:36
阅读次数:
333
五年前在论坛上有过一次提问,如下: 下面两个问题的答案就是数据库的事务隔离机制。数据库针对外部的并发请求,也是要考虑资源抢占问题的,所以数据库针对同一记录的写请求,也是要加锁的! 最简单的方式就是针对每个请求都加锁,全部串行,这样肯定不会有问题。但这样性能很低,所以DB将锁分为了读锁和写锁,也就是常 ...
分类:
其他好文 时间:
2018-12-08 13:18:58
阅读次数:
178