04 2008 档案

摘要:J2EE应用程序中的跨资源死锁是一个大问题——它能导致整个应用程序慢慢终止,还很难被分离和修复,尤其是当开发人员不熟悉如何分析死锁环境的时候。我们讨论的情形将有助于您理解一些常见的死锁情形,并为您提供查找死锁的思路。更重要的是,我们概括的经验法则提供了一些要在代码中遵守的惯例,从而避免所有类似的死锁问题。 阅读全文
posted @ 2008-04-28 10:38 谢芳[Kevin] 阅读(217) 评论(0) 推荐(0) 编辑
摘要:我们要介绍的第一种死锁情形是单纯由于负载而造成的,即资源池太小,而每个线程需要的资源超过了池中的可用资源。例如,考虑一个使用数据库连接的EJB调用,执行一个嵌套的EJB调用(使用同一连接池中不同的数据库连接)。例如,如果该嵌套的EJB调用声明为RequiresNew,就会出现死锁情形。 阅读全文
posted @ 2008-04-28 10:36 谢芳[Kevin] 阅读(428) 评论(0) 推荐(0) 编辑
摘要:大多数重要的应用程序都涉及高度并发性和多个抽象层。并发性与资源争用有关,并且是导致死锁问题增多的因素之一。多个抽象层使隔离并修复死锁环境的工作变得更加困难。 阅读全文
posted @ 2008-04-28 10:34 谢芳[Kevin] 阅读(392) 评论(0) 推荐(0) 编辑
摘要:1)The code segments within a program that access the same object from separate, concurrent threads are called “critical sections”。这是临界区的概念。 阅读全文
posted @ 2008-04-21 14:37 谢芳[Kevin] 阅读(3876) 评论(0) 推荐(2) 编辑
摘要:本文通过对Oracle数据库锁机制的研究,首先介绍了Oracle数据库锁的种类,并描述了实际应用中遇到的与锁相关的异常情况,特别对经常遇到的由于等待锁而使事务被挂起的问题进行了定位及解决,并对死锁这一比较严重的现象,提出了相应的解决方法和具体的分析过程。 阅读全文
posted @ 2008-04-21 14:01 谢芳[Kevin] 阅读(266) 评论(0) 推荐(0) 编辑