![]() ![]() Deadlocks can occur in any concurrency environment, not just in a database system.įor instance, a multithreading program can deadlock if two or more threads are waiting on locks that were previously acquired so that no thread can make any progress. If you're using a Concurrency Control algorithm that relies on locks, then there is always the risk of running in a deadlock situation. One real world example of a deadlock is when you lock your house keys in your car, and your car keys in your house.Ī deadlock happens when two concurrent transactions cannot make progress because each one waits for the other to release a lock, as illustrated in the following diagram.īecause both transactions are in the lock acquisition phase, neither one releases a lock prior to acquiring the next one. the database) will kill queries that don't finish in time. In practice this usually results in timeout errors since it is not desired to have any query hanging forever, and the underlying system (e.g. Proc2: Lock A - starts waiting until proc1 releases A ![]() Proc1: Lock B - starts waiting until proc2 releases B ![]() At the same moment, someone else does the same thing in opposite order - locks B first, then locks A. One example: Let's say I have table A and table B, I need to do some update in A and then B and I decide to lock both of them at the moment of usage (this is really stupid behaviour, but it serves it's purpose now). 4th IWPTS, Leidschendam, 1991.In general, deadlock means that two or more entities are blocking some sources, and none of them is able to finish, because they are blocking sources in a cyclic way. ![]() Alilovic-Curgus On Test Coverage Metrics for Communication Protocols Proc. Ito The OMethod for Protocol Test Sequence Genera tion Proc. Verhaard Test Selection in Conformance Testing Memoranda Informatica, 91–52, Unversity of Twente, 1991. König Test Derivation from LOTOS using Structure Information Proc. Tretmans A Formal Approach to Conformance Testing Proc. Object-Oriented Modeling and Design Prentice-Hall New Jersey 1991. Guo E-MPT Protocol Testing: Preliminary Experimental Results Proc. Nexpert Object Version 2.0, User’s Guide California, 1991. Myers The art of software testing John Wiley & Sons Inc., 1979. Milner Communication and Concurrency Prentice-Hall 1989. Lunze Künstliche Intelligenz für Ingenieure (in German) Oldenbourg Verlag, Munich,1994. Langerak A Testing Theory for LOTOS using Deadlock Detection Proc. ISO/IEC LOTOS - A Formal Description Technique Based on the Temporal Ordering of Ob servational Behavior IS 8807, 1989. Hogrefe OSI formal specification case study: the Inres protocol and service, revised Universität Bern, Institut für Informatik, 1992. Automatic Analysis and Test Case Derivation for Restricted Class of LOTOS Expressions with Data Parameters Proc. Test Selection Based on Finite-State Models IEEE Transactions on Soft ware Engineering, 17(6), 1991. ISO/IEC Working Document on Formal Methods in Conformance Testing Paris, 1995. Eijk Tools for LOTOS, a Lotosphere overview Memoranda informatica 91–25,University of Twente, 1991. Bochmann TESTL: An Environment for Incremental Test Suite Design Based on Finite-State Models Proc. Verhaard A Framework for Test Selection Proc. Brinksma A theory for the derivation of tests Proc. Boehm Software Engineering Economics IEEE Transactions on Software Engineer ing, 10(1), 1984.Į. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |