事务分为三个主要知识点,分别是基本属性,并发事务处理带来的问题,以及事务的隔离级别。 一、事务的基本属性 1. 原子性(Atomicity) 事务是一个原子操作单元,其对数据的修改,要么全都执行,要么全不执行 2. 一致性(Consistent) 在事务开始和完成时,数据都必须保持一致状态,这意味着 ...
分类:
数据库 时间:
2020-05-10 13:11:48
阅读次数:
66
进程同步机制: 原子操作 原子操作(atomic operation)指的是由多步操作组成的一个操作。如果该操作不能原子地执行,则要么执行完所有步骤,要么一步也不执行,不可能只执行所有步骤的一个子集。 信号量机制 信号量(semaphore)的数据结构为一个值和一个指针,指针指向等待该信号量的下一个 ...
分类:
系统相关 时间:
2020-05-06 15:30:07
阅读次数:
104
volatile 具有可见性,顺序性,但是不具有原子性。 以一个列子来说明: 10个线程对 num++ 操作,num++ 是 num=num+1; 不是一个原子操作 package com.example.demo.thread; public class VolatileAtomicTest { ...
分类:
其他好文 时间:
2020-05-05 20:06:36
阅读次数:
67
生成为唯一id一般通用方案 1. UUID:如果只考虑唯一性,是可行的。 缺点: 2. 数据库自增主键 在分布式集群中的缺点: 3. 基于redis生成全局id策略 因为Redis是单线的天生保证原子性,可以使用原子操作INCR和INCRBY来实现 4. snowflake Twitter的分布式自 ...
分类:
其他好文 时间:
2020-05-04 00:49:12
阅读次数:
57
该书226页,每小时看30页,第一遍要在今天22点前看完 基础数据结构 这个是最重要的 分布式锁 set ex nx 超时问题 value为随机参数,问题是:判断再删除非原子操作 可重入性 异步队列 rpush/lpush 和 blpop/brpop 空虚连接会自动断开,blpop会抛出异常 锁冲突 ...
分类:
其他好文 时间:
2020-05-03 18:16:47
阅读次数:
175
为何要学习计算机基础计算机硬件历史操作系统图形界面发展史Windows启动过程计算机的启动过程(详细)操作系统的启动过程显卡结构及工作原理详细解读浅谈window桌面GUI技术CPU的内部架构和工作原理CPU中的原子操作简单CPU设计数字电路和模拟电路的概念及区别模拟电路、传统数字电路与单片机关于A ...
分类:
其他好文 时间:
2020-04-30 09:45:03
阅读次数:
75
一、Java 基础1. JDK 和 JRE 有什么区别?JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境。JRE:Java Runtime Environment 的简称,java 运行环境,为 java 的运行提供了所需环境。具 ...
分类:
编程语言 时间:
2020-04-27 13:20:25
阅读次数:
59
多线程、并发及线程的基础问题 1)Synchronized 用 过 吗 , 其 原 理 是 什 么 ? 2)volatile 能使得一个非原子操作变成原子操作吗? 3)volatile 修饰符的有过什么实践? 4)volatile 类型变量提供什么保证? 5) 10 个线程和 2 个线程的同步代码, ...
分类:
编程语言 时间:
2020-04-25 17:19:05
阅读次数:
54
CyclicBarrier 可以重复使用,而 CountdownLatch 不能重复使用。 Java 的 concurrent 包里面的 CountDownLatch 其实可以把它看作一个计数器, 只不过这个计数器的操作是原子操作,同时只能有一个线程去操作这个计数器, 也就是同时只能有一个线程去减这 ...
分类:
编程语言 时间:
2020-04-25 00:59:50
阅读次数:
94
原子操作(atomic operation)意为”不可被中断的一个或一系列操作” 。 处理器使用基于对缓存加锁或总线加锁的方式来实现多处理器之间的原子操作。 在 Java 中可以通过锁和循环 CAS 的方式来实现原子操作。 CAS 操作—— Compare & Set,或是 Compare & Sw ...
分类:
编程语言 时间:
2020-04-25 00:45:21
阅读次数:
88