Concurrency - Deadlock

Data System Architecture


Deadlock describes a situation where two or more threads are blocked forever, waiting for each other due to a lock.

At some point intensive or inappropriate exclusive locking can lead to a “deadlock” situation between two locks, where none of the locks can be released because they try to acquire resources mutually from each other.

A deadlock can occur when two or more users are waiting for data locked by each other. Deadlocks prevent some threads from continuing to work.



The database normally automatically detects deadlock situations and resolves them by rolling back one of the statements involved in the deadlock, thereby releasing one set of the conflicting row locks. The database should have a fail-safe mechanism which will automatically “sacrifice” one of the locks, thus releasing the resource. Processes or transactions involved in the “deadlock” get rolled back.

Deadlocks are not common. Most often they occur when transactions explicitly override the default locking of the database.


Discover More
Data System Architecture
Concurrency - Latches (System Lock)

Latches are like semaphores. Latches are used to guarantee physical consistency of data, while locks are used to assure logical consistency of data. Latches are simple, low-level system lock (serialization...
Data System Architecture
Concurrency - Livelock

Livelock is a forms of thread contention. A thread often acts in response to the action of another thread. If the other thread's action is also a response to the action of another thread, then livelock...
Data System Architecture
Concurrency - Liveness

A concurrent application's ability to execute in a timely manner is known as its liveness. . Java Tuto -...
Data System Architecture
Concurrency - Lock (Mutex)

A lock is a synchronizationmechanism designed to enforce a mutual exclusion of threads. A lock is also known as a mutex. Type: binary semaphore - yes / no Most locking designs block the execution...
Data System Architecture
Data Property - Immediate / Strong Consistency

Immediate (or strong) consistency is a consistency level that contrast with eventual consistency. With strong consistency, there may be deadlocks whereas it's less possible with eventual consistency ...
Java Conceptuel Diagram
Java Concurrency - Deadlock

deadlock in Java. The Java programming language neither prevents nor requires detection of deadlock conditions. Programs where threads hold (directly or indirectly) locks on multiple objects should...
Obia Powercenter Topology
OBIA - Installation Version 7.9.6 with EBS, PowerCenter, Oracle Database on Windows

Roadmap To install and set up Oracle BI Applications, do the following: preinstallation steps for the source...
Card Puncher Data Processing
Oracle Database - Deadlock

A deadlock can occur when two or more users are waiting for data locked by each other. Deadlocks prevent some transactions from continuing to work. Oracle Database automatically detects deadlock situations...
Data System Architecture
Parallel Programming - Producer Consumer problem (Bounded-buffer problem)

The producer–consumer problem (also known as the bounded-buffer problem) is a classic example of a multi-process synchronization problem in a producer consumer mode. The problem describes two processes...
Timesten Component
Timesten - Sub-daemons

TimesTen assigns a separate subdaemons to each database to perform operations including the following tasks: Manage databases. Loading the database into memory from a checkpoint file on disk Recovering...

Share this page:
Follow us:
Task Runner