社区
Web 开发
帖子详情
锁概念
suwulin
2003-06-28 12:03:07
共享锁和update锁的概念是怎样定义的?
...全文
37
2
打赏
收藏
锁概念
共享锁和update锁的概念是怎样定义的?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yabbi21
2003-06-28
打赏
举报
回复
共享锁用于所有的只读数据操作。共享锁是非独占的,允许多个并发事务读取其锁定的
资源。默认情况下,数据被读取后,立即释放共享锁。例如,执行查询“SELECT *
FROM my_table”时,首先锁定第一页,读取之后,释放对第一页的锁定,然后锁定第
二页。这样,就允许在读操作过程中,修改未被锁定的第一页。但是,事务隔离级别连
接选项设置和SELECT语句中的锁定设置都可以改变这种设置。例如SQL Server中,
SELECT * FROM my_table HOLDLOCK”就要求在整个查询过程中,保持对表的锁定,直
到查询完成才释放锁定。
修改锁在修改操作的初始化阶段用来锁定可能要被修改的资源,这样可以避免使用共享
锁造成的死锁现象。因为使用共享锁时,修改数据的操作分为两步,首先获得一个共享
锁,读取数据,然后将共享锁升级为独占锁,然后再执行修改操作。这样如果同时有两
个或多个事务同时对一个事务申请了共享锁,在修改数据的时候,这些事务都要将共享
锁升级为独占锁。这时,这些事务都不会释放共享锁而是一直等待对方释放,这样就造
成了死锁。如果一个数据在修改前直接申请修改锁,在数据修改的时候再升级为独占
锁,就可以避免死锁。修改锁与共享锁是兼容的,也就是说一个资源用共享锁锁定后,
允许再用修改锁锁定。
testjava
2003-06-28
打赏
举报
回复
这个概念应该是在ORACEL中用的比较频繁吧:例如:
============
java.sql.PreparedStatement pstmt = null;
ResultSet rs = null;
String query = "";
conn.setAutoCommit(false);
query = "insert into clobtest_table(id,picstr) values(?,empty_clob())";
java.sql.PreparedStatement pstmt = conn.prepareStatement(query);
pstmt.setString(1,"001");
pstmt.executeUpdate();
pstmt = null
query = "select picstr from clobtest_table where id = '001' for update"; //必须锁定,否则会出错
pstmt = con.prepareStatement(query)
rs= pstmt.executeQuery();
oracle.sql.CLOB clobtt = null;
if(rs.next()){
clobtt = (oracle.sql.CLOB)rs.getClob(1);
}
Writer wr = clobtt.getCharacterOutputStream();
wr.write(strtmp);
wr.flush();
wr.close();
rs.close();
con.commit();
内存管理笔记十一、CPU三级缓存、冷热页及自旋
锁
概念
内存管理笔记十一、CPU三级缓存、冷热页及自旋
锁
概念
引言:在上一篇笔记中,介绍了buddy 伙伴系统其适用于大内存的物理地址分配,在查阅相关资料的过程中,看到了冷热页,进而接触到CPU三级缓存和自旋
锁
的
概念
。...
MYSQL数据库
锁
概念
MYSQL数据库
锁
概念
数据库中的
锁
,就是数据库协调多个进程或者线程并发访问某一资源的机制。 除了传统的计算机资源(CPU 、RAM、磁盘I/O)的争用之外,数据也是提供一种多用户共享的资源。
锁
是为了保证数据库并发...
互斥
锁
的
概念
和使用方法。
在单线程条件下,由于对数据操作,在同样的时间下,只有一个线程来操作。所以不用担心数据的同步问题。现代的操作系统,大都提供并发机制,虽然有时候是表面的并发。...1互斥
锁
概念
: 互斥
锁
提供一个可以在同一时间
简述Java的悲观
锁
和乐观
锁
概念
synchronized是悲观
锁
,线程一旦得到
锁
,其他需要
锁
的线程就挂起的情况就是悲观
锁
。 synchronized关键字会让没有得到
锁
资源的线程进入阻塞状态,而后在争夺到
锁
资源后恢复为运行状态,这个过程中涉及到操作系统用户...
锁
的
概念
!
https基于Redis的Redisson分布式可重入
锁
RLockJava对象实现了接口。同时还提供了异步(Async)、反射式(Reactive)和RxJava2标准的接口。...区别在于JUC下面的
锁
只能
锁
本地,而Rlock中的
锁
可以
锁
分布式。...
Web 开发
81,091
社区成员
341,718
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章