事务 初学的时候,感觉事务的四大特性就那么回事,不就是一堆事要么完成,要么全部失败吗。还有经常说的脏读,幻读,不可重复读根本无法理解,就是那个存款取款的例子,我修改了数据,对方看到我修改的数据,这不很正常吗。现在看来,当时根本就不知道并发是什么鬼,更何谈并发事物了。 然后给你来一堆名词,共享锁,排它 ...
分类:
其他好文 时间:
2019-11-02 17:23:34
阅读次数:
86
事务 初学的时候,感觉事务的四大特性就那么回事,不就是一堆事要么完成,要么全部失败吗。还有经常说的脏读,幻读,不可重复读根本无法理解,就是那个存款取款的例子,我修改了数据,对方看到我修改的数据,这不很正常吗。现在看来,当时根本就不知道并发是什么鬼,更何谈并发事物了。 然后给你来一堆名词,共享锁,排它 ...
分类:
其他好文 时间:
2019-11-02 15:29:33
阅读次数:
84
一 线程间的同步与互斥:信号量、互斥量、实践集 线程互斥是指对于临界区资源访问的排它性,如多个线程对共享内存资源的访问,生产消费型对产品的操作。临界区操作操作方法有: rt_hw_interrupt_disable() / rt_enter_critical()进入临界区, rt_hw_interr ...
分类:
编程语言 时间:
2019-10-30 18:47:17
阅读次数:
182
一、基本概念 从操作的类型上来看,分为读锁和写锁: 读锁:共享锁,对同一份数据,多个读操作可以同时进行且相互间不影响 写锁:排它锁,独占资源。在当前操作未完成之前,其他写操作必须等待。读操作不影响。 排它锁作用于innodb,且必须在事务块中执行。在进行事务操作时,for update会对结果集中的 ...
分类:
数据库 时间:
2019-10-30 18:01:33
阅读次数:
118
在分布式系统的很多场景中,我们为了保证数据的最终一致性,需要很多的技术方案来支持,比如分布式事务、分布式锁等。
有的时候,我们需要保证一个方法在同一时间内只能被同一个线程执行。在单机环境中,Java中其实提供了很多并发处理相关的API,但是这些API在分布式场景中就无能为力了。也就是说单纯的Java Api并不能提供分布式锁的能力。
分类:
其他好文 时间:
2019-10-25 14:53:28
阅读次数:
89
重入锁Java中的重入锁(即ReentrantLock)与Java内置锁一样,是一种排它锁。使用synchronized的地方一定可以用ReentrantLock代替。重入锁需要显示请求获取锁,并显示释放锁。为了避免获得锁后,没有释放锁,而造成其它线程无法获得锁而造成死锁,一般建议将释放锁操作放在f... ...
分类:
编程语言 时间:
2019-10-09 17:40:52
阅读次数:
129
数据库中的锁 锁分类 按锁的粒度划分:表级锁、行级锁、页级锁 按锁级别划分:共享锁、排它锁、意向锁 按加锁方式划分:自动锁、显示锁 按使用方式划分:乐观锁、悲观锁 MySQL中的行级锁、表级锁和页级锁 行级锁:行级锁分为共享锁和排他锁。行级锁是MySQL中锁定粒度最细的锁。InnoDB引擎支持行级锁 ...
分类:
数据库 时间:
2019-10-03 19:42:15
阅读次数:
124
基于数据库: 基于数据库表做乐观锁,用于分布式锁。(version) 基于数据库表做悲观锁(InnoDB,for update) 基于数据库表数据记录做唯一约束(表中记录方法名称) 基于缓存: 使用redis的setnx()用于分布式锁。(setNx,直接设置值为当前时间+超时时间,保持操作原子性) ...
分类:
其他好文 时间:
2019-09-24 15:38:22
阅读次数:
96
题意与数据范围 求 $n$ 个点不同构的简单无向图的数目,答案对 $997$ 取模 $A$ 图与 $B$ 图被认为是同构的是指:$A$ 图的顶点经过一定的重新标号以后,$A$ 图的顶点集和边集要完全与 $B$ 图一一对应 $0\le n\le 60$ Solution 我们把无向图点的每一种重新排布 ...
分类:
其他好文 时间:
2019-09-06 23:21:02
阅读次数:
176
Teradata的锁是为了防止多个用户或者是多个请求同时更新某些相同的数据,在请求开始和结束的过程,锁都是自动实现的。当然,用户也可以特别指定使用某种锁,Teradata的锁分为4中类型: ? 1.排他锁(Exclusive locks)? 排它锁只能锁数据库和表,不能锁行级别的数据。限制最高的一种 ...
分类:
其他好文 时间:
2019-09-03 16:21:38
阅读次数:
109