1、事务的特性 事务具备以下四个特性,简称ACID属性。 原子性(Atomicity): 事务是一个完整的操作,事务的各步操作都是不可再分的,要么都执行, 要么都不执行。 一致性(Consistency): 当事务完成时,数据必须处于一致的状态。 隔离性(Isolation): 并发事务之间相互独立 ...
分类:
其他好文 时间:
2019-11-04 15:30:24
阅读次数:
103
为了保证数据的一致性即实现线程的安全性,java虚拟机提供了同步和锁机制。synchronized关键字是最基本的互斥同步手段。除此之外,还可以使用java.util.concurrent包中的重入锁(ReentrantLock)来实现同步。相比synchronized,ReentrantLock增 ...
分类:
编程语言 时间:
2019-11-02 16:01:55
阅读次数:
56
一、Lock接口 1. Java5之后,JDK新增了Lock接口,实现锁的功能,与synchronized关键字类似 2. 源码 二、ReentrantLock 1. 实现了Lock接口 2. 是synchronized的替代,ReentrantLock是Java语言层面实现的锁机制,synchro ...
分类:
其他好文 时间:
2019-11-01 09:52:17
阅读次数:
73
一、协程介绍 协程:是单线程下的并发,又称微线程,纤程。英文名Coroutine。一句话说明什么是线程:协程是一种用户态的轻量级线程,即协程是由用户程序自己控制调度的。 协程相比于线程,最大的区别在于,协程不需要像线程那样来回的中断切换,也不需要线程的锁机制,因为线程中断或者锁机制都会对性能问题造成 ...
分类:
编程语言 时间:
2019-10-31 23:54:18
阅读次数:
164
一、基本概念 从操作的类型上来看,分为读锁和写锁: 读锁:共享锁,对同一份数据,多个读操作可以同时进行且相互间不影响 写锁:排它锁,独占资源。在当前操作未完成之前,其他写操作必须等待。读操作不影响。 排它锁作用于innodb,且必须在事务块中执行。在进行事务操作时,for update会对结果集中的 ...
分类:
数据库 时间:
2019-10-30 18:01:33
阅读次数:
118
2019/10/27, .Net c 代码片段 摘要:一种性能比较好的单例写法 "参考来源" 其他单例思路: 1.使用依赖注入,注册为单例模式 2.使用双重锁机制 ...
分类:
其他好文 时间:
2019-10-27 18:59:55
阅读次数:
97
防止重复提交,主要是使用锁的形式来处理,如果是单机部署,可以使用本地缓存锁(Guava)即可,如果是分布式部署,则需要使用分布式锁(可以使用zk分布式锁或者redis分布式锁),本文的分布式锁以redis分布式锁为例。 一、本地锁(Guava) 1、导入依赖 2、自定义本地锁注解 3、本地锁注解实现 ...
分类:
编程语言 时间:
2019-10-23 20:07:44
阅读次数:
91
Data Concurrency and Consistency 数据并发与一致性 介绍数据是如何在多用户情况下实现数据的一致性,主要内容: 介绍数据并发及一致性 数据库事务隔离级别 数据库锁机制 用户自定义锁 1 数据并发及一致性 在单用户数据库,不需要考虑同一时间同一数据被其他用户使用的情况。然 ...
分类:
数据库 时间:
2019-10-22 13:09:59
阅读次数:
121
想知道mysql中的锁机制吗?想了解什么是二段锁与三级封锁协议吗?相信在这篇文章中你会找到答案.
分类:
数据库 时间:
2019-10-18 09:38:39
阅读次数:
122
MySQL 就是其中之一,它经历了多个版本迭代。数据库锁是 MySQL 数据引擎的一部分,今天我们就一起来学习 MySQL 的数据库锁和它的优化。 MySQL 锁分类 当多个事务或者进程访问同一个资源的时候,为了保证数据的一致性,就需要用到锁机制。 从锁定资源的角度来看,MySQL 中的锁分为: 表 ...
分类:
数据库 时间:
2019-10-17 17:44:09
阅读次数:
99