46
edits
Changes
→Deadlocks
===Deadlocks===
A deadlock is when a multiple processes attempt to access the same resource at the same time, and the waiting process is holding a resource that the first process needs to finish.
'''Solutions'''
#Create a global lock hierarchy
#Use recursive synchronization objects such as recursive mutexes if a thread must acquire the same object more than once.
#Avoid the case where two threads wait for each other to terminate. Instead, use a third thread to wait for both threads to terminate.
'''Intel Inspector cannot detect a Deadlock problem involving more than four threads.'''