Junior — Middle
What data type can be used to store a sequence of elements in programming?
sobes.tech AI
Answer from AI
Deadlock is a situation in a multithreaded system where two or more threads permanently block each other, waiting for resources held by each other.
Example: Thread A has acquired resource 1 and is waiting for resource 2, while Thread B has acquired resource 2 and is waiting for resource 1. Neither thread can continue because each is waiting for the resource held by the other.
To prevent deadlocks, the following are used:
- ordering resource acquisition (all threads acquire resources in the same order);
- using timeouts when waiting for locks;
- avoiding nested locking.
In Java, this is often related to the use of synchronized blocks or Lock objects.