参考文章 https://blog.csdn.net/qq_35206244/article/details/82493215 https://www.cnblogs.com/wyaokai/p/10921323.html 1、事务属性 原子性(Atomicity): 事务内的操作要么都执行、要么都 ...
分类:
数据库 时间:
2020-07-12 22:44:27
阅读次数:
87
再写一个关于线程安全的,很多人都喜欢讨论多线程怎么使用,什么AQS、CAS、对象监视。但是如果线程安全的基本定义没有完全搞清楚的话,多线程用起来还是有点儿可怕的。 什么是线程安全 官方一点儿的说法,多个线程要同时修改一个变量时,要保证一个变量的原子性、可见性、有序性。其实说白了就是,多个线程修改,你 ...
分类:
编程语言 时间:
2020-07-12 20:50:57
阅读次数:
62
一、事务简单介绍 事务指逻辑上的一组操作,组成这组操作的各个单元,要不全部成功,要不全部不成功。 1.1 事务基本要素 原子性(Atomicity): 事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就 ...
分类:
编程语言 时间:
2020-07-12 19:16:06
阅读次数:
83
在iOS中,atomic表示一个类的属性getter/setter具有原子性。那么iOS底层是如何保证这种原子性的呢? 我们有一个类A,它有一个属性X具有atomic: @property (atomic, strong) X *x; 当我们为这个这个X属性赋值的时候:-[A setX:]的汇编代码 ...
分类:
移动开发 时间:
2020-07-12 00:48:34
阅读次数:
103
1、三种操作语句: DDL(数据库定义语句):数据库、表、视图、索引、存储过程的相关操作语句,例如Create、Drop、Desc、Show等 DML(数据管理语句):插入数据Insert,删除数据Delete,更新数据Update,查询数据Select DCL(数据库控制语句):如创建数据库用户, ...
分类:
数据库 时间:
2020-07-11 19:27:41
阅读次数:
99
提到MySQL的事务,我相信对MySQL有了解的同学都能聊上几句,无论是面试求职,还是日常开发,MySQL的事务都跟我们息息相关。 而事务的ACID(即原子性Atomicity、一致性Consistency、隔离性Isolation、持久性Durability)可以说涵盖了事务的全部知识点,所以,我 ...
分类:
数据库 时间:
2020-07-10 11:26:18
阅读次数:
74
事务 什么是事务 A给B转账,B收到A的钱 要么都成功,要么都失败 将一组SQL放到一个批次中去执行 ACID原则 原子性Atomicity,要么都完成,要么都不完成 一致性Consistency,针对一个事务操作前与操作后状态一直 持久性Durability,表示事务结束后的数据不随着外界原因导致 ...
分类:
数据库 时间:
2020-07-10 09:46:56
阅读次数:
59
目录 一、事务特性 1.原子性 2.一致性 3.隔离性 4.持久性 二、并发问题 1.更新丢失 2.脏读 3.不可重复读 4.幻读 三、隔离级别 1.未提交读(read-uncommitted) 2.已提交读(read-committed) 3.可重复读(repetable-read) 4.可串行化 ...
分类:
数据库 时间:
2020-07-10 00:44:07
阅读次数:
85
一、AtomXXX类 解决多线程问题的更高效的方法,使用Atom类 Atom类本身方法都是原子性的,但不能够保证多个方法连续调用都是原子性的. atom类的底层实是cas 二、CAS(Compare And Set) cas(V(要改的值),Expected(期望当前值),NewValue(新的值) ...
分类:
其他好文 时间:
2020-07-10 00:00:55
阅读次数:
69
【运维】 【1】主从复制 【1.1】命令 【开发技巧】 使用 INCR,而不是 x=x+1 我们希望该值为12,但实际上为11!这是因为以这种方式增加值不是原子操作。在Redis中调用 INCR命令可以防止这种情况的发生,因为它是原子操作由单个命令实现的所有Redis操作都是原子的,包括对更复杂的数 ...
分类:
其他好文 时间:
2020-07-09 19:33:37
阅读次数:
85