概述 从使用者的角度,AQS的功能可分为两类:独占功能和共享功能。它的子类中,要么实现并使用了它独占功能的API,要么使用了共享锁的功能,而不会同时使用两套API,即使是它的子类ReentrantReadWriteLock,也是通过两个内部类:读锁和写锁,分别实现的两套API来实现的。 AQS是一个 ...
分类:
编程语言 时间:
2017-09-29 17:57:00
阅读次数:
255
悲观锁(Pessimistic Lock), 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。 乐观锁(Op ...
分类:
其他好文 时间:
2017-09-26 00:58:06
阅读次数:
100
一、表级锁 1.读锁,lock table t_student read;添加了读锁,使得其他sessionA和sessionB都不能修改数据,仅仅可以读数据。 show processlist;查看进程,修改的时候状态是在等待表级锁,已经等待了8s 在解锁unlock tables;之后,修改数据 ...
分类:
数据库 时间:
2017-09-17 13:23:29
阅读次数:
188
Analyzing 线程是对MyISAM 表的统计信息做分析(例如, ANALYZE TABLE )。 checking permissions 线程是检查服务器是否具有所需的权限来执行该语句。 Checking table 线程正在执行表检查操作。 cleaning up 线程处理一个命令,并正准... ...
分类:
数据库 时间:
2017-09-12 13:58:06
阅读次数:
198
思路:java.util.concurrent.locks包下面ReadWriteLock接口,该接口下面的实现类ReentrantReadWriteLock维护了两个锁读锁和解锁,可用该类实现这个功能,很简单importjava.util.Date;
importjava.util.concurrent.locks.ReadWriteLock;
importjava.util.concurrent.locks.Reentr..
分类:
其他好文 时间:
2017-09-11 00:46:09
阅读次数:
208
乐观锁与悲观锁 悲观锁:总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。再比如Java里面的同步原语synchron ...
分类:
其他好文 时间:
2017-09-10 21:40:35
阅读次数:
222
事务与锁是不同的。事务具有ACID属性: 原子性:持久性:由redo log重做日志来保证事务的原子性和持久性,一致性:undo log用来保证事务的一致性隔离性:一个事务在操作过程中看到了其他事务的结果,如幻读。锁是用于解决隔离性的一种机制。事务的隔离级别通过锁的机制来实现。 数据库的事务隔离级别 ...
分类:
数据库 时间:
2017-09-09 22:30:10
阅读次数:
189
1、synchronized与Lock的区别 使用synchronized这个关键字实现的同步块有一些缺点: (1)锁只有一种类型 (2)线程得到锁或者阻塞 (3)Lock是在Java语言层面基于CAS自旋方式来实现锁的,在并发条件下,其性能要相对比synchronized好一些。 为了解决如上的各 ...
分类:
编程语言 时间:
2017-09-09 22:26:44
阅读次数:
193
xtrabackup 包含两个工具 xtrabackup 和innobackupex。 ->xtrabackup只能备份innodb和xtradb两种引擎的表,而不能备份myisam引擎的表。 ->innobackupex能同时备份innodb和myisam,但对myisam备份时需要加一个全局读锁 ...
分类:
其他好文 时间:
2017-08-30 16:33:55
阅读次数:
139
头文件:<pthread.h> 编译记得加 -lpthread库 1:互斥锁(mutex) 数据类型:pthread_mutex_t 操作API: 2:读写锁 数据类型:pthread_rwlock_t 操作API: 注:读写锁适合使用在临界资源读频率远高于写频率的情况下。 当临界资源位于读锁定情况 ...
分类:
编程语言 时间:
2017-08-21 00:14:42
阅读次数:
220