bool flock ( int handle, int operation [, int &wouldblock] ); flock() 操作的 handle 必须是一个已经打开的文件指针。operation 可以是以下值之一: 要取得共享锁定(读取程序),将 operation 设为 ...
分类:
Web程序 时间:
2014-12-04 12:25:33
阅读次数:
152
在SQL Server数据库中加锁时,除了可以对不同的资源加锁,还可以使用不同程度的加锁方式,即锁有多种模式,SQL Server中锁模式包括:1.共享锁 SQL Server中,共享锁用于所有的只读数据操作。共享锁是非独占的,允许多个并发事务读取其锁定的资源。默认情况下,数据被读取后,SQL Se...
分类:
数据库 时间:
2014-12-03 11:54:31
阅读次数:
251
数据库使用锁是为了支持更好的并发,提供数据的完整性和一致性。InnoDB是一个支持行锁的存储引擎,锁的类型有:共享锁(S)、排他锁(X)、意向共享(IS)、意向排他(IX)。为了提供更好的并发,InnoDB提供了非锁定读:不需要等待访问行上的锁释放,读取行的一个快照。该方法是通过InnoDB的一个特...
分类:
数据库 时间:
2014-12-01 15:54:00
阅读次数:
202
with nolockWITH (NOLOCK)相当于未提交读(READ UNCOMMITTED),意思是指定语句可以读取已由其他事务修改单尚未提交的行,在未提交读级别运行的事务,不会发出共享锁来防止其他事务修改当前事务读取的数据,也不会被排它锁阻塞,所以WITH (NOLOCK)可以改善在线大量查...
分类:
其他好文 时间:
2014-11-27 23:37:22
阅读次数:
242
1、什么是共享锁和排它锁
共享锁就是允许多个线程同时获取一个锁,一个锁可以同时被多个线程拥有。
排它锁,也称作独占锁,一个锁在某一时刻只能被一个线程占有,其它线程必须等待锁被释放之后才可能获取到锁。
2、排它锁和共享锁实例
ReentrantLock就是一种排它锁。CountDownLatch是一种共享锁。这两类都是单纯的一类,即,要么...
分类:
其他好文 时间:
2014-11-16 14:41:40
阅读次数:
220
Semaphore用于保存当前可用许可的数量。是通过共享锁实现的。根据共享锁的获取原则,Semaphore分为"公平信号量"和"非公平信号量"。"公平信号量"和"非公平信号量"的释放信号量的机制是一样的!不同的是它们获取信号量的机制:线程在尝试获取信号量许可时,对于公平信号量而言,如果当前线程不在队...
分类:
编程语言 时间:
2014-11-10 09:47:25
阅读次数:
241
概念介绍 开发人员喜欢在SQL脚本中使用WITH(NOLOCK), WITH(NOLOCK)其实是表提示(table_hint)中的一种。它等同于 READUNCOMMITTED 。 具体的功能作用如下所示(摘自MSDN): 1: 指定允许脏读。不发布共享锁来阻止其他事务修改当前事务读取的数据,其他...
分类:
数据库 时间:
2014-11-07 18:47:15
阅读次数:
327
在进行多线程编程的过程中,线程间的同步与互斥是件需要认真考虑的关键点,而读者与写者就是线程间同步的典型例子:若干个读者在读取文章,若干个写者同时编辑文章,保证多个读者和多个写者能并发或并行(关于并行与并发的区别以及多线程编程的一些基本概念,可以参考这篇博文:多线程初步)执行。解决读者与写着的典型方法是设立一个文章缓冲区,然后多个读者与写者互斥或共同地访问该缓冲区。 写操作是排他锁(排斥读者,同样排斥其他写者),读操作是共享锁(多个读者可读,排斥写者)。当然,当读者与写者、写者与写者几乎同一时间到达时,涉及到...
分类:
其他好文 时间:
2014-11-06 21:57:43
阅读次数:
287
最近碰到很多锁问题,所以解决了后,仔细再去阅读了关于锁的书籍,整理如下:1,锁的种类Innodb存储引擎实现了如下2种标准的行级锁:? 共享锁(S lock),允许事务读取一行数据。? 排它锁(X lock),允许事务删除或者更新一行数据。 当一个事务获取了行r的共享锁,那么另外一个事务也可以立即获取行r的共享锁,因为读取并未改变行r的数据,这种情况就是锁兼容。但是如果有事务想获得行r的排它锁...
分类:
数据库 时间:
2014-10-30 20:58:06
阅读次数:
416
锁是事务获取的一种控制资源,用于保护数据资源,防止其它事务对数据进行冲突的或不兼容的访问。我们目前只要学习两种基本的锁模式就可以,它们分别是共享锁和排他锁。共享锁主要是在读操作时使用,读操作一旦完成,数据库就会立即释放资源上的共享锁,而且多个事务可以同时持有同一数据资源上的共享锁。而排他锁主要是.....
分类:
其他好文 时间:
2014-10-17 18:10:19
阅读次数:
176