Changes for page Deadlock Prevention
Last modified by chrisby on 2023/11/28 19:17
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1,11 +1,11 @@ 1 1 Deadlocks can only occur if all four specific conditions are met. Therefore, strategies to prevent deadlocks focus on negating one of these conditions. 2 2 3 -| ------------------------ | ---------------------------------------------------------------------------------------- --------------------------------------------------------| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|4 -| **Condition** | 5 -| Mutual Exclusion / Mutex | hared betweenthreadsand there arefewer resources than threads. | 1) Use concurrently accessibleresourcessuch as AtomicInteger. 2) Increase the number of resources until it is greater thanor equalto the numberof competing threads.3) Check if each required resource is accessible before starting the task.|6 -| Lock&Wait|Onceathreadhasacquiredaresource,itwill not release it until it has acquired all the other resources it needs and has completed its work.|Beforereservingaresource,checkitsavailability.Ifaresourceisunavailable,releaseallresourcesandstartover.1)Starvation:Athreadnevermanagestoreservealltheresourcesitneeds. 2) Livelock: The thread gets tangled up. →These two approaches are always applicable, but inefficient because they cause bad performance.|7 -| NoPreemption|Athreadisunabletostealaresourcesreservedbyanotherthread.|Athreadisallowedtoaskanotherthreadtoreleaseall of its resources (including the required one) and starting from anew. This approach is similar to the 'Lock & Wait' solution but has a better performance.|8 -| | 3 +| ------------------------ | ---------------------------------------------------------------------------------------- | ------------- | ----------- | 4 +| **Condition** | **Description** | **Solutions** | **Dangers** | 5 +| Mutual Exclusion / Mutex | When resources can't be used by mutual thread and there are less resources than threads. | | | 6 +| | | | | 7 +| | | | | 8 +| | | | | 9 9 10 10 #### Lock & Wait 11 11