本博客系列是学习并发编程过程中的记录总结。由于文章比较多,写的时间也比较散,所以我整理了个目录贴(传送门),方便查阅。 "并发编程系列博客传送门" 本文参考了 "[Java多线程进阶(六)—— J.U.C之locks框架:AQS综述(1)" ]和 "Java技术之AQS详解" 两篇文章。 AQS 简 ...
分类:
其他好文 时间:
2020-02-21 18:06:09
阅读次数:
83
引言 JUC即java.util.concurrent,是java提供的用于多线程处理的工具类库。 打开jdk包,JUC代码就在rt.jar包中,concurrent下有atomic和locks两个package,并且还有concurrentXXX、Executor、Future、Queue等。 A ...
分类:
编程语言 时间:
2020-02-18 13:10:42
阅读次数:
104
1. 结论首先说结论,在RR的隔离级别下,Innodb使用MVVC和next-key locks解决幻读,MVVC解决的是普通读(快照读)的幻读,next-key locks解决的是当前读情况下的幻读。 2. 幻读是什么事务A,先执行: update table set name=“hh” wher ...
分类:
数据库 时间:
2020-02-12 12:45:46
阅读次数:
67
问题描述 在使用postgres执行一个存储过程,存储过程的操作是对全库上百张表添加字段,执行到一半的时候抛出了错误:You might need to increase max_locks_per_transaction。 原因 因为一个过程中操作的表过多,超过了最大对象锁的限制数量,导致了异常。 ...
分类:
数据库 时间:
2020-02-11 19:06:24
阅读次数:
74
前言 InnoDB 通过 MVCC 和 NEXT-KEY Locks,解决了在可重复读的事务隔离级别下出现幻读的问题。MVCC 我先挖个坑,日后再细讲,这篇文章我们主要来谈谈那些可爱的锁。 什么是幻读? 幻读是在可重复读的事务隔离级别下会出现的一种问题,简单来说,可重复读保证了当前事务不会读取到其他 ...
分类:
数据库 时间:
2020-02-09 22:18:49
阅读次数:
100
Lock(锁): 从JDK5.0开始,Java提供了更强大的线程同步机制——通过显示定义同步锁对象来实现同步,同步锁使用Lock对象充当 java.util.concurrent.locks.Lock接口是控制多个线程对共享线程进行了访问的工具。锁提供了对共享资源的独占访问,每次只有一个线程对Loc ...
分类:
编程语言 时间:
2020-02-04 20:22:52
阅读次数:
99
4、显式锁和AQS 显式锁 Lock接口和核心方法 package com.xiangxue.ch4; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; /** * @au ...
分类:
其他好文 时间:
2020-02-01 14:48:15
阅读次数:
89
1、查询是否锁表 show OPEN TABLES where In_use > 0; 查询到相对应的进程 然后 kill id 2、查询进程 show processlist 补充: 查看正在锁的事务 SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS; 查 ...
分类:
数据库 时间:
2020-01-30 22:43:02
阅读次数:
111
项目由win系统部署到linux系统下,启动项目报错如下: 其实一看提示信息就感觉差不多了,QRTZ_LOCKS是大写,但是数据库中是小写qrtz_locks。 其实就是linux 表名不区分大小写,解决办法。 然后重启MySQL(在根目录下运行命令即可): 就可以了。 ...
分类:
数据库 时间:
2020-01-30 19:23:55
阅读次数:
91
1. 前言 InnoDB 通过 MVCC 和 NEXT-KEY Locks,解决了在可重复读的事务隔离级别下出现幻读的问题。MVCC 我先挖个坑,日后再细讲,这篇文章我们主要来谈谈那些可爱的锁。 2. 什么是幻读? 幻读是在可重复读的事务隔离级别下会出现的一种问题,简单来说,可重复读保证了当前事务不 ...
分类:
数据库 时间:
2020-01-20 19:14:54
阅读次数:
361