Subj : Deadlock theorem To : comp.programming.threads From : Uenal Mutlu Date : Sun May 01 2005 08:18 pm Theorem: a) "There will be no deadlock if the objects are locked in the same order." b) "Unlocking can be done in any order." Some explanation: "Order" in this context means sequence. The theorem applies equally well to both sequential and parallel processing (ie. threads, tasks, processes, coroutines etc.), and regardless of the number of objects one wishes to lock in any of the parallel running units (aka threads). That is: the objects designated for locking, and the number of them, can be different in each thread; only the locking sequence (order) must be the same in all threads. (If this theorem is new then I would like to give it the name "Mutlu theorem" :-) .