为什么需要锁?因为数据库要解决并发控制问题。在同一时刻,可能会有多个客户端对Table1.rown进行操作,比如有的在读取该行数据,其他的尝试去删除它。为了保证数据的一致性,数据库就要对这种并发操作进行控制,因此就有了锁的概念。锁的分类从对数据操作的类型(读\写)分读锁(共享锁):针对同一块数据,多个读操作可以同时进行而不会互相影响。写锁(排他锁):当当前写操作没有完成前,它会阻断其他写锁和读锁。...
分类:
数据库 时间:
2015-04-25 22:49:14
阅读次数:
333
racle中锁的概念十分重要,对于其他关系型数据库更不用说,有的数据库发出select语句都要加锁,但是oracle有独立的undo(可从undo里读取修改过的数据)所以不加锁。
下面介绍oracle里的几种锁模式:
锁代码
锁模式名称
锁模式缩写
锁模式别名
锁级别
0
none
none
none
1
null
null
nul...
分类:
其他好文 时间:
2015-04-22 18:39:03
阅读次数:
217
在一个系统中有一个写线程和若干个读线程,读写线程通过一个指针共用了一个数据结构,写线程改写这个结构,读线程读取该结构。在写线程改写这个数据结构的过程中,加锁情况下读线程由于等待锁耗时会增加。
可以利用RCU (Read Copy Update
What is rcu)的思想来去除这个锁。本文提到的主要实现代码:gist
RCU
RCU可以说是一种替代读写锁的方法。其基于一个事实:当写线程...
分类:
编程语言 时间:
2015-04-19 19:31:28
阅读次数:
175
先说说线程
在多线程中,为了保证共享资源的正确性,我们常常会用到线程同步技术.
将一些敏感操作变成原子操作,保证同一时刻多个线程中只有同一个线程在执行这个原子操作。
我最常用的是互斥锁,也称独占锁。其次还有读写锁,信号量,条件变量等。
除此之外,我们在进程间通信时会用到信号,向某一个进程发送信号,该进程中设置信号处理函数,然后当该进程收到信号时,执行某些操作。
其实在线程中,也可...
分类:
编程语言 时间:
2015-04-16 17:34:25
阅读次数:
217
Java中读写锁有个接口java.util.concurrent.locks.ReadWriteLock,也有具体的实现ReentrantReadWriteLock,详细的API可以查看JavaAPI文档。 下面这个例子是在文例子的基础上,将普通锁改为读写锁,并添加账户余额查询的功能,代码如下:pa...
分类:
编程语言 时间:
2015-04-14 14:21:14
阅读次数:
178
在视频播放机程序中,经常采用这样的架构: 一个负责读文件的线程,负责从媒体文件中读取数据并将数据包放入一个包队列(queue),另外有多个线程从这个包队列中取包并解码,然后交给负责显示的线程以便显示图像。...
分类:
编程语言 时间:
2015-04-14 02:03:55
阅读次数:
192
add by zhj: 这个问题最后没有给出另人满意的答案,我跟提问人有相同的困惑。悲观锁是在事务A中,给记录加了写锁后,其它事务不能再修改该记录,直到事务A提交或回滚,写锁释放后,其它事务才可以修改该记录。而乐观锁是允许两个事务同时修改相同的记录,直到事务提交时再检测是否可以修改。其实说白了就是把...
分类:
其他好文 时间:
2015-04-08 00:49:33
阅读次数:
204
共享锁【S锁】又称读锁,若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。这保证了其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改。排他锁【X锁】又称写锁。若事务T对数据对象A加上X锁,事务T可以读A也可以修改A,其...
分类:
其他好文 时间:
2015-04-03 09:11:47
阅读次数:
121
之前的文章讨论了互斥量、条件变量、读写锁和自旋锁用于线程的同步,本文将首先讨论Barriers和信号量的使用,并给出了相应的代码和注意事项,相关代码也可在我的github上下载,然后对线程各种同步方法进行了比较。
Barriers
Barriers是一种不同于前面线程同步机制,它主要用于协调多个线程并行(parallel)共同完成某项任务。一个barrier对象可以使得每个...
分类:
编程语言 时间:
2015-04-02 22:40:38
阅读次数:
468
第一部分:知识备忘1、进程间通信方式本地的进程间通信(IPC)有很多种方式,但可以总结为下面4类:消息传递(管道、FIFO、消息队列)同步(互斥量、条件变量、读写锁、文件和写记录锁、信号量)共享内存(匿名的和具名的)远程过程调用(Solaris门和Sun RPC)但这些都不是本文的主题!我们要讨论的...
分类:
其他好文 时间:
2015-04-02 22:34:30
阅读次数:
234