社区
MS-SQL Server
帖子详情
谁能给几个并发控制的例子?
304的的哥
2010-06-24 10:51:34
并发控制,比如:银行取款系统,飞机订票系统,......
...全文
154
7
打赏
收藏
谁能给几个并发控制的例子?
并发控制,比如:银行取款系统,飞机订票系统,......
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lnlawrence
2010-06-25
打赏
举报
回复
上面出现的blog内容太繁杂了,应该像xys_777那样举个更通俗简单的例子。
继续等高人!
samyou
2010-06-25
打赏
举报
回复
学习了。
304的的哥
2010-06-24
打赏
举报
回复
举个关于 并发控制 的例子帮助理解理解
关于排它锁Exclusive Locks(X锁)和共享锁Share Locks(S锁)
永生天地
2010-06-24
打赏
举报
回复
有个存钱的
什么叫事务? 这些就是数据库特有的术语了。懒虫在这里口头解释:就是把多件事情当做一件事情来处理。也就是大家同在一条船上,要活一起活,要over一起over !
我为什么要使用事务? 俺这里再举个很俗很俗的例子:
俺到银行存钱,于是有这么几个步骤:
1、把钱交给工作人员;2、工作人员填单;3、将单子给我签字;4、工作人员确认并输入电脑。
要是,要是我把钱交给工作人员之后,进行到3我签字了。那哥们突然心脏病发作,over掉了,那,我的钱还没有输入电脑,但我却交了钱又签字确认了,而并没有其他任何记录。我岂不是要亏死了???我的血汗钱啊!赶紧退给我!!
于是,在数据库里产生了这么一个术语:事务(Transaction),也就是要么成功,要么失败,并恢复原状。
还是写程序把:
Create Proc sp我去存款(@M Money , @iOperator Int)
As
Begin
Declare @i int
Begin Tran --激活事务
Exec @i=sp交钱 @m,@iOperator
if @i<>0 --这里一般用系统错误号 @@Error。 我这里为了举例子没有用到。需要根据实际情况。
begin
Rollback Tran --回滚事务
RaisError ('银行的窗口太少了,我懒得排队,不交了!:( ', 16, 1) with Log --记录日志
Return -1 --返回错误号
end
Exec @i=sp填单 @m,@iOperator
if @i<>0
begin
Rollback Tran --回滚事务
RaisError ('银行的哥们打印机出了点毛病,打印不出单子来,把钱退回来给我吧??', 16, 1) with Log
Return -2
end
Exec @i=sp签字 @m
if @i<>0
begin
Rollback Tran --回滚事务
RaisError ('我 靠?什么烂银行,换了3支笔都写不出水来!!老子不存了!!不签!', 16, 1) with Log
Return -3
end
Exec @i=sp输入电脑 @m,@iOperator
if @i<>0
begin
Rollback Tran --回滚事务
RaisError ('什么意思?磁盘空间已满?好了好了,把钱给我,我到旁边的这家银行!', 16, 1) with Log
Return -4
end
Commit Tran --提交事务
Return 0
End
事务的几个要点 Begin Tran , @@Error(我这里没有用到,见上面的注释) , Rollback Tran , Commit Tran。
另:事务可以嵌套使用。这个时候需要命名。请参见sql server online help 。
htl258_Tony
2010-06-24
打赏
举报
回复
关于原理和小例这里有:
http://blog.csdn.net/happyflystone
SQL2005中的事务与锁定(一至九)
一楼大大的。
htl258_Tony
2010-06-24
打赏
举报
回复
没做过,友情帮顶。
-狙击手-
2010-06-24
打赏
举报
回复
不做银行系统
Java并发编程实战
课程介绍: 对于一个Java程序员而言,能否熟练掌握并发编程是判断他优秀与否的重要标准之一。因为并发编程是Java语言中最为晦涩的知识点,它涉及操作系统、内存、CPU、编程语言等多方面的基础能力,更为考验一个...
操作系统中并发与并行的
几个
例子
操作系统中并发与并行的
几个
例子
浅谈数据库的
并发控制
在数据库中,
并发控制
是指在多个用户/进程/线程同时对数据库进行操作时,如何保证事务的一致性和隔离性的,同时最大程度地并发。 当多个用户/进程/线程同时对数据库进行操作时,会出现3种冲突情形: 读-读,不存在...
mysql中MVCC多版本
并发控制
原理的详解
今天我们分享mysql中MVCC多版本
并发控制
原理的详解 一、MVCC定义 1、MVCC简介 MVCC,全称Multi-Version Concurrency Control,即多版本井发控制,MVCC是一种
并发控制
的方法,一般在数据库管理系统中,实现对数据库...
什么是数据库
并发控制
?数据库
并发控制
的主要方法是?
数据库是一个共享资源,可以提供多个用户使用。这些用户程序可以一个一个地串行执行, 每个时刻只有一个用户程序运行, 执行对数据库的存取, 其他用户程序必须等到这个用户程 序结束以后方能对数据库存取。但是...
MS-SQL Server
34,576
社区成员
254,587
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章