社区
Oracle
帖子详情
在线等待!开发过程中怎样来考虑并发性和死锁的问题!急!!!!
xdfzmh
2003-08-22 07:29:24
开发过程中怎样来考虑并发性和死锁的问题,我公司采用ORACLE8.05,PB开发,
我想避免应用程序的类似于死锁的现象!但有良好的并发性,不知有没有好的方法。
我还想知道ORACLE数据的独立性怎么设置?有两种机制:一个是语句一致性,另一个是事务一致性,不知道怎么设置它?
...全文
37
4
打赏
收藏
在线等待!开发过程中怎样来考虑并发性和死锁的问题!急!!!!
开发过程中怎样来考虑并发性和死锁的问题,我公司采用ORACLE8.05,PB开发, 我想避免应用程序的类似于死锁的现象!但有良好的并发性,不知有没有好的方法。 我还想知道ORACLE数据的独立性怎么设置?有两种机制:一个是语句一致性,另一个是事务一致性,不知道怎么设置它?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Wnyu
2003-08-24
打赏
举报
回复
用事务及安全点。Oracle中的事务本来就是并发的。我们一般定立一个写表顺序机制(因为只有定表时才出现锁定)。
如有表A,B, C, D, E。
a程序会写到A, B,C表。
b程序会写到A,C,E表。
错误做法:
a程序写入顺序为A,C,B
b程序写入顺序为C, A, E
当a程序已锁定A,而且准备锁定C。 同时,b程序要锁定C, 发现C未被锁定,于是锁定C,接着又要锁定A。这样就现死锁(因为A已被锁定,而已等待锁定C)。
正确做法:(按已规定的锁定顺序)
a程序写入顺序为A,B, C
b程序写入顺序为A, C, E
当a程序已锁定A, 而且要锁定其他表(如B,C)。 此时,b程序要锁定A时发现A已锁定,此时等待A,直到A解锁。如此类推....
klbt
2003-08-23
打赏
举报
回复
主要考虑事务要及时提交,事务不宜过大,在PB的update属性中,更新模式建议使用第二种。
jiezhi
2003-08-23
打赏
举报
回复
異常處理,超時設置,資源的的及時釋放,聯接的斷開。
b/s都是不保持聯接的,所以可以接受大量的并發訪問
tiangou
2003-08-22
打赏
举报
回复
oracle一般是不会死锁的,
在开发过程中注意事务及时处理就是了,也就是SQL语句要及时地commit或rollback
这些小问题注意了,应该没事
当然,我以为:)
并发
编程之
死锁
详解
前言: 作为
开发
人员对
死锁
肯定不陌生,即使在项目
中
没有遇到过,但是至少也听过。
死锁
的出现存在着偶然
性
,但并不意味着程序没有存在
死锁
的风险(如果使用
并发
编程)一旦项目
中
出现
死锁
是一件非常严重的事情,它直接回导致项目卡死直至崩溃重启。今天给大家重点分享是,
死锁
是如何产生、如何检测
死锁
、以及如何避免
死锁
,最后会通过实例避免
死锁
。
死锁
的定义
死锁
产生的原因 检测
死锁
避免
死锁
一、
死锁
定义 ...
并发
的
死锁
问题
及解决方案
目录 1.什么是
死锁
2.发生
死锁
的例子 2.1简单的例子 2.2生产
中
的例子-转账 2.3模拟多人转账 3.
死锁
的4个必要条件 4.如何定位
死锁
5.修复
死锁
的策略 5.1线上发生
死锁
怎么办? 5.2常见修复的策略 6.实际工作
中
如何避免
死锁
1.什么是
死锁
发生在
并发
中
互不相让:当两个(或更多)线程(或进程)相互持有对方所需要的资源,又不主动释放,导致所有人都无法继续前进,导致程序陷入无尽的阻塞,这就是
死锁
2.发生
死锁
的例子 2.1简单的例子 当类的对象flag=
并发
插入引发的
死锁
问题
排查
一.业务背景我们现在的业务是一款数据产品,有不少实时计算和爬取来的数据都汇总到大数据仓库、数据挖掘平台ODPS上。然后应用在读取这些数据时,这些数据会先导入到
并发
读能力更强,适合结构查询的mysql上。数据端
开发
的同学在跑定时任务时, tps比较高,于是出现了一些线上
问题
:在
开发
过程
中
发现对某一包含unique key(联合的唯一索引)的表进行
并发
插入的时候,出现大量的
死锁
,使得插入几乎无法进行。于
Java
中
的
死锁
问题
详解
在
并发
编程
中
,
死锁
是一种常见的
问题
,如果不加以解决和避免,会对系统的稳定
性
和
性
能造成极大的影响。本文介绍Java
中
的
死锁
问题
,包括
死锁
的概述、
死锁
产生的必要条件、
死锁
的解决方法以及给出实际
开发
中
如何避免
死锁
的经验分享。
死锁
是指两个或多个进程或线程在执行
过程
中
,因为竞争资源而产生相互
等待
的现象,导致所有进程或线程都无法继续执行的情况。简单来说,就是多个线程或进程互相占用对方需要的资源,且各自持有自己的资源,形成了一个死循环的
等待
状态。当发生
死锁
时,程序将无法继续执行下去,只有强制终止才能退出。
高
并发
编程之
死锁
演示
死锁
:
Oracle
17,082
社区成员
55,236
社区内容
发帖
与我相关
我的任务
Oracle
Oracle开发相关技术讨论
复制链接
扫一扫
分享
社区描述
Oracle开发相关技术讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章