回到目录当数据表被事务锁定后,我们再进行select查询时,需要为with(锁选项)来查询信息,如果不加,select将会被阻塞,直到锁被释放,下面介绍几种SQL的锁选项SQL的几把锁NOLOCK(不加锁)此选项被选中时,SQL Server 在读取或修改数据时不加任何锁。 在这种情况下,用户有可能...
分类:
数据库 时间:
2014-12-30 14:47:58
阅读次数:
206
问题:最近使用quartz集群,总是报deadlock问题,所以需要查看一下执行的sql导致的加锁冲突。步骤:1、在要测试的库中创建指定表innodb_lock_monitorcreate table innodb_lock_monitor(x int) engine=innodb;2、执行sqlB...
分类:
数据库 时间:
2014-12-29 13:41:42
阅读次数:
176
在手机管家中,当进入高级工具并按下小房子进入桌面的时候,点击加锁的程序,输入密码,本来想输入密码后,进入加锁的程序,结果,进入到了手机管家的高级工具界面,很奇怪!(界面启用混乱)
实际上,是因为每个程序都有他自己的任务栈,每个Activity启动的时候入栈,处于栈顶。手机管家的输入密码的Activity和他的其他Activity在同一个任务栈中,如果栈底不是输入密码的Activity,当输入密码...
分类:
其他好文 时间:
2014-12-27 09:00:02
阅读次数:
158
1关于可重入锁
ReentrantLock是基于AQS实现的可重入的同步工具类,它提供了两种同步器的实现即公平锁FairSync和非公平锁NonfairSync。它提供了一种无条件的、可轮询的、定时的以及可中断的锁获取操作,所有的加锁和解锁都是显式的。tryLock(),tryLock(long
,TimeUnit)分别提供了可轮询的、可定时的锁获取方式。 Lock()提供了无...
分类:
编程语言 时间:
2014-12-26 16:50:58
阅读次数:
283
public System.Windows.Forms.DataGridView dataGridView1 { get { lock (ojb) { ...
//使用fcntl对文件进行加锁#include "stdio.h"#include "unistd.h"#include "fcntl.h"intmain(){ intfd; structflocklk; intr; fd=open("a.txt",O_RDWR); if(fd==-1) { fd...
分类:
编程语言 时间:
2014-12-23 12:02:14
阅读次数:
438
首先,for update 和for update nowait 是对操作的数据行进行加锁,在事务提交前防止其他操作对数据的修改。for update 和for update nowait主要区别在于是否等待,如果不加nowait,在执行select时就会报错,如果加了nowait,在执行selec...
分类:
其他好文 时间:
2014-12-19 17:13:54
阅读次数:
175
存储引擎支持的锁定MyISAM表级锁MEMORY表级锁InnoDB行级锁BDB页面锁表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。页面锁:开销和加锁时间界于表锁和行锁之间;会出...
分类:
数据库 时间:
2014-12-18 14:58:27
阅读次数:
286
1背景11.1MVCC:Snapshot Read vs Current Read21.2Cluster Index:聚簇索引31.32PL:Two-Phase Locking31.4Isolation Level42一条简单SQL的加锁实现分析52.1组合一:id主键+RC62.2组合二:id唯一...
分类:
数据库 时间:
2014-12-17 22:15:06
阅读次数:
268
这篇文章主要介绍了MySQL行级锁、表级锁、页级锁详细介绍,同时列举了一些实例说明,需要的朋友可以参考下页级:引擎 BDB。表级:引擎 MyISAM , 理解为锁住整个表,可以同时读,写不行行级:引擎 INNODB , 单独的一行记录加锁表级,直接锁定整张表,在你锁定期间,其它进程无法对该表进行写操...
分类:
数据库 时间:
2014-12-17 12:34:28
阅读次数:
268