java中,可能有一些场景,操作非常简单,但是容易存在并发问题,比如i++, 此时,如果依赖锁机制,可能带来性能损耗等问题, 于是,如何更加简单的实现原子性操作,就成为java中需要面对的一个问题。 在backport-util-concurrent没有被引入java1.5并成为JUC之前, 这些原 ...
分类:
编程语言 时间:
2017-04-24 19:51:58
阅读次数:
184
一. 事务四要素 数据库事务正确执行的四个基本要素包括原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability),简称ACID。目前要实现ACID主要有两种方式:一种是Write ahead logging,也就是日志式的方式(现代数 ...
分类:
数据库 时间:
2017-04-23 18:12:28
阅读次数:
300
synchronized 是互斥锁; lock 更广泛,包含了读写锁 读写锁特点: 1)多个读者可以同时进行读2)写者必须互斥(只允许一个写者写,也不能读者写者同时进行)3)写者优先于读者(一旦有写者,则后续读者必须等待,唤醒时优先考虑写者) 互斥锁特点: 一次只能一个线程拥有互斥锁,其他线程只有等 ...
分类:
编程语言 时间:
2017-04-22 12:27:40
阅读次数:
192
mysql是线程模式,可以支持更多的并发连接数,mysql能支持远比oracle更多的连接,所以oracle应用中通常用数据库连接池技术来复用连接,那么mysql为什么要用常见的数据库连接池技术呢? 原因在于mysql的锁机制还不够完善,同时程序中的一些问题都有可能导致mysql数据库的连接阻塞,在 ...
分类:
数据库 时间:
2017-04-18 18:51:09
阅读次数:
218
SET STATISTICS PROFILE ON 显示query的执行过程 Troubleshooting Deadlocks Understanding Locking in SQL Server 对锁的初步认识 深入的探讨锁机制 3种跟踪死锁的方法总结 Deadlock Troubleshoo ...
分类:
其他好文 时间:
2017-04-18 18:36:48
阅读次数:
158
共享锁(shared lock) 和 排它锁(exclusive lock) 也可以叫读锁(read lock)和写锁(write lock) 读锁是共享的 互相不阻塞的 写锁是阻塞的 ACID 表示原子性(atomicity),一致性(consistency),隔离性(isolation),和持久 ...
分类:
数据库 时间:
2017-04-18 13:05:12
阅读次数:
201
悲观锁(Pessimistic Lock), 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。 乐观锁(Op ...
分类:
数据库 时间:
2017-04-13 19:59:54
阅读次数:
242
Java中每个对象都有一个内置锁,当程序运行到非静态的synchronized同步方法上时,自动获得与正在执行代码类的当前实例(this实例)有关的锁。获得一个对象的锁也称为获取锁、锁定对象、在对象上锁定或在对象上同步。 一个对象只有一个锁。所以,如果一个线程获得该锁,就没有其他线程可以获得锁,直到 ...
分类:
编程语言 时间:
2017-04-12 04:02:53
阅读次数:
269
在分布式开发中,锁是线程控制的重要途径。Java为此也提供了2种锁机制,synchronized和lock。做为Java爱好者,自然少不了对比一下这2种机制,也能从中学到些分布式开发需要注意的地方。 我们先从最简单的入手,逐步分析这2种的区别。 一、synchronized和lock的用法区别 sy ...
分类:
编程语言 时间:
2017-04-06 23:26:43
阅读次数:
244
http://blog.csdn.net/aoxida/article/details/50684867在分布式开发中,锁是线程控制的重要途径。Java为此也提供了2种锁机制,synchronized和lock。做为Java爱好者,自然少不了对比一下这2种机制,也能从中学到些分布式开发需要注意的地方... ...
分类:
编程语言 时间:
2017-04-05 20:18:34
阅读次数:
240